* 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,13 +42,22 @@ void transmit_bytes (const uint8_t *payload, const uint8_t size)
PORTB |= CSBpin; PORTB |= CSBpin;
} }
void set_ports (uint8_t gp1, uint8_t gp2)
void set_ports(uint8_t gp1, uint8_t gp2)
{ {
uint8_t command = 0x40; uint8_t command = 0x40;
if(gp1 != 0 ) if (gp1 != 0)
command |= 0x01; command |= 0x01;
if (gp2 != 0) if (gp2 != 0)
command |= 0x02; command |= 0x02;
transmit_bytes (&command, 1); 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

@@ -23,20 +23,26 @@ enum pins {
* Initial setup for the VFD controller interface * Initial setup for the VFD controller interface
* Sets up the connected pins and leaves them in inactive state. * Sets up the connected pins and leaves them in inactive state.
* ------------------------------------------------------------- */ * ------------------------------------------------------------- */
void PT6302_startup(void); void PT6302_startup (void);
/* ------------------------------------------------------------------------------- /* -------------------------------------------------------------------------------
* Transmits size byte of data through the VFD controller's interface from payload * Transmits size byte of data through the VFD controller's interface from payload
* Handles CLKB, CSB and timing constraints * Handles CLKB, CSB and timing constraints
* ------------------------------------------------------------------------------- */ * ------------------------------------------------------------------------------- */
void transmit_bytes (const uint8_t* payload, uint8_t size); void transmit_bytes (const uint8_t *payload, uint8_t size);
/* --------------------------------------------------------- /* ---------------------------------------------------------
* Sets GP1 and GP2 to the values given in the function call * Sets GP1 and GP2 to the values given in the function call
* Handles the entire communication * Handles the entire communication
* --------------------------------------------------------- */ * --------------------------------------------------------- */
void set_ports(uint8_t gp1, uint8_t gp2); 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_ #endif //_PT6302_H_

1
main.c
View File

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