Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. #ifndef VW2002FISWriter_h
  2. #define VW2002FISWriter_h
  3.  
  4. #include <inttypes.h>
  5. #include <Arduino.h>
  6.  
  7. // based on FIS_emulator
  8. #define FIS_WRITE_PULSEW 4
  9. #define FIS_WRITE_START 15 //something like address, first byte is always 15
  10.  
  11. #define PORT_3LB PORTB
  12. #define DATA PB3 //MOSI (Arduino Uno 11)
  13. #define CLK PB1 //SCK (Arduino 13)
  14. #define ENA PB0 //SS
  15.  
  16. // Positions in Message-Array
  17. #define FIS_MSG_COMMAND 0
  18. #define FIS_MSG_LENGTH 1
  19.  
  20. static uint8_t off[] = {0x81, 18, 240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98};
  21. static uint8_t blank[] = {0x81, 18, 240, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98};
  22.  
  23. class VW2002FISWriter
  24. {
  25. public:
  26. VW2002FISWriter(uint8_t clkPin, uint8_t dataPin, uint8_t enaPin);
  27. ~VW2002FISWriter();
  28. void FIS_init();
  29. void init_graphic();
  30. void remove_graphic();
  31. void write_text_full(int x, int y, String line);
  32.  
  33. void GraphicFromArray(uint8_t x, uint8_t y, uint8_t sizex, uint8_t sizey, uint8_t data[], uint8_t mode);
  34. void GraphicOut(uint8_t x, uint8_t y, uint16_t size, uint8_t data[], uint8_t mode, uint8_t offset);
  35.  
  36. void sendMsg(String line1, String line2, bool center = true);
  37. void sendMsg(char msg[]);
  38. void sendRawMsg(char in_msg[]);
  39. void sendKeepAliveMsg();
  40. void displayOff();
  41. void displayBlank();
  42. void printFreeMem();
  43.  
  44. private:
  45. uint8_t _FIS_WRITE_CLK;
  46. uint8_t _FIS_WRITE_DATA;
  47. uint8_t _FIS_WRITE_ENA;
  48.  
  49. void FIS_WRITE_send_3LB_msg(char in_msg[]);
  50. void FIS_WRITE_send_3LB_singleByteCommand(uint8_t txByte);
  51. void sendEnablePulse();
  52. void FIS_WRITE_3LB_sendByte(int in_byte);
  53. void FIS_WRITE_startENA();
  54. void FIS_WRITE_stopENA();
  55. void setClockHigh();
  56. void setClockLow();
  57. void setDataHigh();
  58. void setDataLow();
  59. uint8_t checksum( volatile uint8_t in_msg[]);
  60. };
  61.  
  62. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement