* QA: formatting

* Feature: `set_duty()` for setting VFD duty cycle
This commit is contained in:
2022-03-07 16:42:54 +01:00
parent b6bac30388
commit 17ec23023d
3 changed files with 25 additions and 9 deletions

View File

@@ -42,7 +42,6 @@ void transmit_bytes (const uint8_t *payload, const uint8_t size)
PORTB |= CSBpin;
}
void set_ports (uint8_t gp1, uint8_t gp2)
{
uint8_t command = 0x40;
@@ -52,3 +51,13 @@ void set_ports(uint8_t gp1, uint8_t gp2)
command |= 0x02;
transmit_bytes (&command, 1);
}
void set_duty (uint8_t brightness)
{
if (brightness > 7)
{
brightness = 7;
}
uint8_t command = 0x50 | brightness;
transmit_bytes (&command, 1);
}

View File

@@ -25,18 +25,24 @@ enum pins {
* ------------------------------------------------------------- */
void PT6302_startup (void);
/* -------------------------------------------------------------------------------
* Transmits size byte of data through the VFD controller's interface from payload
* Handles CLKB, CSB and timing constraints
* ------------------------------------------------------------------------------- */
void transmit_bytes (const uint8_t *payload, uint8_t size);
/* ---------------------------------------------------------
* Sets GP1 and GP2 to the values given in the function call
* Handles the entire communication
* --------------------------------------------------------- */
void set_ports (uint8_t gp1, uint8_t gp2);
/* -----------------------------------------------------------
* Sets duty cycle of controlled VFD
* Brightness between 0 and 7 are accepted, any higher means 7
* duty = (brightness + 8)/16 (valid between 8/16 and 15/16)
* Handles the entire communication
* ----------------------------------------------------------- */
void set_duty (uint8_t brightness);
#endif //_PT6302_H_

1
main.c
View File

@@ -12,6 +12,7 @@ int main ()
{
PT6302_startup ();
set_ports (1, 1);
set_duty (7);
while (1)
{