Pseudo-Medical Monitor Code TK STUFF
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]; };