firefly_conductor/lib/vfd.h

43 lines
1.6 KiB
C

/* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
/* Copyright (c) 2016 King Kévin <kingkevin@cuvoodoo.info> */
/* this library is used to drive the vacuum fluorescent display extracted from a Samsung SER-6500 cashier machine
* it used three chained supertex HV518P shift register VFD drivers */
/* supertex HV518 VFD driver pins */
#define VFD_RCC RCC_GPIOA
#define VFD_PORT GPIOA
#define VFD_STR GPIO4
#define VFD_NLE GPIO5
#define VFD_CLK GPIO6
#define VFD_DIN GPIO7
/* set digit <nb> to ASCII character <c>
* use the MSB of <c> to enable the dot */
void vfd_digit(uint8_t nb, char c);
/* set dot matrix <nb> to ASCII character <c>
* non ASCII characters are used for pictures */
void vfd_matrix(uint8_t nb, char c);
/* shift out the VFD data */
void vfd_shift(void);
/* clear VFD display
* the data has to be transmitted separately */
void vfd_clear(void);
/* test VFD display (light up all anodes)
* the data has to be transmitted separately */
void vfd_test(void);
/* setup VFD */
void vfd_setup(void);