Skip to content
Snippets Groups Projects
Commit 8bc550b6 authored by Andrew Tridgell's avatar Andrew Tridgell Committed by Lorenz Meier
Browse files

oreoled: align with ArduPilot version

parent 034bbdf9
No related branches found
No related tags found
No related merge requests found
......@@ -61,6 +61,33 @@
/** send bytes */
#define OREOLED_SEND_BYTES _OREOLEDIOC(3)
/** send reset */
#define OREOLED_SEND_RESET _OREOLEDIOC(4)
/** boot ping */
#define OREOLED_BL_PING _OREOLEDIOC(5)
/** boot version */
#define OREOLED_BL_VER _OREOLEDIOC(6)
/** boot write flash */
#define OREOLED_BL_FLASH _OREOLEDIOC(7)
/** boot application version */
#define OREOLED_BL_APP_VER _OREOLEDIOC(8)
/** boot application crc */
#define OREOLED_BL_APP_CRC _OREOLEDIOC(9)
/** boot startup colour */
#define OREOLED_BL_SET_COLOUR _OREOLEDIOC(10)
/** boot application */
#define OREOLED_BL_BOOT_APP _OREOLEDIOC(11)
/** force an i2c gencall */
#define OREOLED_FORCE_SYNC _OREOLEDIOC(12)
/* Oreo LED driver supports up to 4 leds */
#define OREOLED_NUM_LEDS 4
......@@ -68,7 +95,46 @@
#define OREOLED_ALL_INSTANCES 0xff
/* maximum command length that can be sent to LEDs */
#define OREOLED_CMD_LENGTH_MAX 24
#define OREOLED_CMD_LENGTH_MAX 70
/* maximum command length that can be read from LEDs */
#define OREOLED_CMD_READ_LENGTH_MAX 10
/* maximum number of commands retries */
#define OEROLED_COMMAND_RETRIES 10
/* magic number used to verify the software reset is valid */
#define OEROLED_RESET_NONCE 0x2A
/* microseconds to hold-off between write and reads */
#define OREOLED_WRITE_READ_HOLDOFF_US 500
/* microseconds to hold-off between retries */
#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"
/* enum passed to OREOLED_SET_MODE ioctl()
* defined by hardware */
......@@ -97,6 +163,8 @@ enum oreoled_param {
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
};
......@@ -114,6 +182,8 @@ enum oreoled_macro {
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
};
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment