Pseudo-Medical Monitor Code TK STUFF

From LVL1
Revision as of 15:22, 12 December 2021 by JAC 101 (talk | contribs)
Jump to navigation Jump to search

enum DEVICE_TYPES
{
  NEOPIXEL_BEACON = 0x88,
  TONE_BEACON = 0x44,
  UNIT_ID_BEACON = 0x22  
};

enum TOKEN_FUNCTIONS
{
  ATTRIB_TOKEN_ID = 200,
  ATTRIB_TOKEN_DEVICE_TYPE = 201,
  ATTRIB_TOKEN_I2C_OFFSET = 202,  
  ATTRIB_TOKEN_SYNC_STATUS = 203,
  ATTRIB_TOKEN_VERSION = 204,
  ATTRIB_TOKEN_UNIT_ID = 205,
  RETURN_TOKEN_ATTRIB_ID = 206
};

struct Token_Structure
{
  uint8_t Token_ID;
  uint8_t Token_Device_Type;
  uint8_t Token_I2C_Offset;  
  uint8_t Token_Sync_Status;
  uint8_t Token_Version;
  uint8_t Token_Unit_ID;
};

enum NEOPIXEL_FUNCTIONS
{
  NEOPIXEL_OFF = 0,
  NEOPIXEL_ON = 1,
  NEOPIXEL_BLINK_SIMPLE = 2,
  NEOPIXEL_BLINK_SINE = 3,
  NEOPIXEL_BLINK_SAW = 4,
  NEOPIXEL_BLINK_RAMPUP = 5,
  NEOPIXEL_BLINK_RAMPDOWN = 6,
  NEOPIXEL_BLINK_PULSE = 7,
  NEOPIXEL_MODE = 8,            // single byte (NEOPIXEL_OFF - NEOPIXEL_BLINK_PULSE)
  NEOPIXEL_COLOR = 9,           // three bytes follow: red(0-255), green(0-255), blue(0-255)
  NEOPIXEL_PULSE_WIDTH = 10,    // single byte follows: pulse_width(1 to 99)
  NEOPIXEL_COLOR_OPPOSING = 11, // three bytes follow: red(0-255), green(0-255), blue(0-255)
  NEOPIXEL_BLINK_DURATION = 12,       // two bytes to follow: low_byte(0-255), high_byte(0-255) calculated as low_byte + (high_byte*256) = 1/10th seconds
  NEOPIXEL_BRIGHTNESS = 14,     // Set Brightness
  RETURN_NEOPIXEL_ATTRIB_ID = 16          //Select attribute to return upon inquiry
};


enum TONE_FUNCTIONS
{
  TONE_OFF = 100,
  TONE_PLAY = 101,
  TONE_FREQUENCY = 102,
  TONE_DURATION = 103,
  SONG_LOAD_ELEMENTS = 104,
  SONG_LOAD_ELEMENT = 105,
  SONG_PLAY = 106,
  SONG_STOP = 107,
  ATTRIB_TONE_FREQUENCY = 108,
  ATTRIB_TONE_DURATION = 109,
  ATTRIB_SONG_LOADED = 110,
  ATTRIB_SONG_ELEMENTS = 111,
  ATTRIB_SONG_ELEMENT = 112,
  ATTRIB_SONG_MAX_NOTES = 113,
  RETURN_TONE_ATTRIB_ID = 115
};

struct Song
{
  bool Loaded = false;
  int Elements;
  int Notes[MAX_SONG_ELEMENTS];
  int Durations[MAX_SONG_ELEMENTS];
};

 

Pseudo-Medical_Monitor_Code#Custom_Includes