Firmware
Classes | Macros | Enumerations
drv_oreoled.h File Reference

Oreo led device API. More...

#include <stdint.h>
#include <sys/ioctl.h>

Go to the source code of this file.

Classes

struct  oreoled_rgbset_t
 
struct  oreoled_macrorun_t
 
struct  oreoled_cmd_t
 

Macros

#define OREOLED0_DEVICE_PATH   "/dev/oreoled0"
 
#define _OREOLEDIOCBASE   (0x2d00)
 
#define _OREOLEDIOC(_n)   (_IOC(_OREOLEDIOCBASE, _n))
 
#define OREOLED_SET_RGB   _OREOLEDIOC(1)
 set constant RGB values
 
#define OREOLED_RUN_MACRO   _OREOLEDIOC(2)
 run macro
 
#define OREOLED_SEND_BYTES   _OREOLEDIOC(3)
 send bytes
 
#define OREOLED_SEND_RESET   _OREOLEDIOC(4)
 send reset
 
#define OREOLED_BL_PING   _OREOLEDIOC(5)
 boot ping
 
#define OREOLED_BL_VER   _OREOLEDIOC(6)
 boot version
 
#define OREOLED_BL_FLASH   _OREOLEDIOC(7)
 boot write flash
 
#define OREOLED_BL_APP_VER   _OREOLEDIOC(8)
 boot application version
 
#define OREOLED_BL_APP_CRC   _OREOLEDIOC(9)
 boot application crc
 
#define OREOLED_BL_SET_COLOUR   _OREOLEDIOC(10)
 boot startup colour
 
#define OREOLED_BL_BOOT_APP   _OREOLEDIOC(11)
 boot application
 
#define OREOLED_FORCE_SYNC   _OREOLEDIOC(12)
 force an i2c gencall
 
#define OREOLED_NUM_LEDS   4
 
#define OREOLED_ALL_INSTANCES   0xff
 
#define OREOLED_CMD_LENGTH_MAX   70
 
#define OREOLED_CMD_READ_LENGTH_MAX   10
 
#define OEROLED_COMMAND_RETRIES   10
 
#define OEROLED_RESET_NONCE   0x2A
 
#define OREOLED_WRITE_READ_HOLDOFF_US   500
 
#define OREOLED_RETRY_HOLDOFF_US   200
 
#define OEROLED_BOOT_COMMAND_RETRIES   25
 
#define OREOLED_BOOT_FLASH_WAITMS   10
 
#define OREOLED_BOOT_SUPPORTED_VER   0x01
 
#define OREOLED_BOOT_CMD_PING   0x40
 
#define OREOLED_BOOT_CMD_BL_VER   0x41
 
#define OREOLED_BOOT_CMD_APP_VER   0x42
 
#define OREOLED_BOOT_CMD_APP_CRC   0x43
 
#define OREOLED_BOOT_CMD_SET_COLOUR   0x44
 
#define OREOLED_BOOT_CMD_WRITE_FLASH_A   0x50
 
#define OREOLED_BOOT_CMD_WRITE_FLASH_B   0x51
 
#define OREOLED_BOOT_CMD_FINALISE_FLASH   0x55
 
#define OREOLED_BOOT_CMD_BOOT_APP   0x60
 
#define OREOLED_BOOT_CMD_PING_NONCE   0x2A
 
#define OREOLED_BOOT_CMD_BOOT_NONCE   0xA2
 
#define OREOLED_FW_FILE_HEADER_LENGTH   2
 
#define OREOLED_FW_FILE_SIZE_LIMIT   6144
 
#define OREOLED_FW_FILE   "/etc/firmware/oreoled.bin"
 

Enumerations

enum  oreoled_pattern {
  OREOLED_PATTERN_OFF = 0, OREOLED_PATTERN_SINE = 1, OREOLED_PATTERN_SOLID = 2, OREOLED_PATTERN_SIREN = 3,
  OREOLED_PATTERN_STROBE = 4, OREOLED_PATTERN_FADEIN = 5, OREOLED_PATTERN_FADEOUT = 6, OREOLED_PATTERN_PARAMUPDATE = 7,
  OREOLED_PATTERN_ENUM_COUNT
}
 
enum  oreoled_param {
  OREOLED_PARAM_BIAS_RED = 0, OREOLED_PARAM_BIAS_GREEN = 1, OREOLED_PARAM_BIAS_BLUE = 2, OREOLED_PARAM_AMPLITUDE_RED = 3,
  OREOLED_PARAM_AMPLITUDE_GREEN = 4, OREOLED_PARAM_AMPLITUDE_BLUE = 5, OREOLED_PARAM_PERIOD = 6, OREOLED_PARAM_REPEAT = 7,
  OREOLED_PARAM_PHASEOFFSET = 8, OREOLED_PARAM_MACRO = 9, OREOLED_PARAM_RESET = 10, OREOLED_PARAM_APP_CHECKSUM = 11,
  OREOLED_PARAM_ENUM_COUNT
}
 
enum  oreoled_macro {
  OREOLED_PARAM_MACRO_RESET = 0, OREOLED_PARAM_MACRO_COLOUR_CYCLE = 1, OREOLED_PARAM_MACRO_BREATH = 2, OREOLED_PARAM_MACRO_STROBE = 3,
  OREOLED_PARAM_MACRO_FADEIN = 4, OREOLED_PARAM_MACRO_FADEOUT = 5, OREOLED_PARAM_MACRO_RED = 6, OREOLED_PARAM_MACRO_GREEN = 7,
  OREOLED_PARAM_MACRO_BLUE = 8, OREOLED_PARAM_MACRO_YELLOW = 9, OREOLED_PARAM_MACRO_WHITE = 10, OREOLED_PARAM_MACRO_AUTOMOBILE = 11,
  OREOLED_PARAM_MACRO_AVIATION = 12, OREOLED_PARAM_MACRO_ENUM_COUNT
}
 

Detailed Description

Oreo led device API.