mirror of
https://github.com/Derisis13/AT-VFD.git
synced 2025-12-06 19:32:49 +01:00
* QA: formatting
* Feature: `set_duty()` for setting VFD duty cycle
This commit is contained in:
17
PT6302.c
17
PT6302.c
@@ -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);
|
||||||
|
}
|
||||||
|
|||||||
16
PT6302.h
16
PT6302.h
@@ -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_
|
||||||
|
|||||||
Reference in New Issue
Block a user