Subversion Repositories DashDisplay

Rev

Rev 56 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * nvram.h
  3.  *
  4.  *  Created on: 4 Jun 2017
  5.  *      Author: Mike
  6.  */
  7. #include "libPLX/plx.h"
  8.  
  9. #pragma once
  10.  
  11.  
  12. #if defined __cplusplus
  13. extern "C"
  14. {
  15. #endif
  16. #pragma pack(push, 1)
  17.     ///\brief State of currently displayed item
  18.     typedef union
  19.     {
  20.         struct
  21.         {
  22.             unsigned tag : 8;
  23.             unsigned : 8;
  24.             enum PLX_Observations observation : 8;
  25.             int instance : 8;
  26.         } data;
  27.         uint32_t u32;
  28.     } nvram_info_t;
  29. #pragma pack(pop)
  30.  
  31. // Allocation of NVRAM words : there are 4k bytes
  32. #define NVRAM_WORDS (4096 / sizeof(nvram_info_t))
  33.  
  34.  
  35.     // Save data according to its tag field
  36.     extern void write_nvram_data(nvram_info_t data);
  37.  
  38.     // find data according to the tag field or return null if no info,
  39.     extern nvram_info_t *find_nvram_data(uint8_t tag);
  40.  
  41. #if defined __cplusplus
  42. }
  43. #endif
  44.