23#ifndef NILE_MCU_PROTOCOL_H_
24#define NILE_MCU_PROTOCOL_H_
56typedef struct __attribute__((packed)) {
77#define NILE_MCU_NATIVE_SAVE_ID_DOMAIN_SRAM2 0x01
78#define NILE_MCU_NATIVE_SAVE_ID_DOMAIN_RTC 0x02
80#define NILE_MCU_NATIVE_REG_IRQ_ENABLE 0x000
81#define NILE_MCU_NATIVE_REG_IRQ_STATUS 0x001
82#define NILE_MCU_NATIVE_REG_IRQ_STATUS_AUTOACK 0x002
84#define NILE_MCU_NATIVE_IRQ_TF_INSERT 0x0001
85#define NILE_MCU_NATIVE_IRQ_TF_REMOVE 0x0002
86#define NILE_MCU_NATIVE_IRQ_RTC_ALARM 0x0004
88#define NILE_MCU_NATIVE_INFO_CAP_EEPROM 0x0001
89#define NILE_MCU_NATIVE_INFO_CAP_USB 0x0002
90#define NILE_MCU_NATIVE_INFO_CAP_ACCEL 0x0004
91#define NILE_MCU_NATIVE_INFO_CAP_RTC 0x0008
92#define NILE_MCU_NATIVE_INFO_RTC_LSE 0x0001
93#define NILE_MCU_NATIVE_INFO_RTC_ENABLED 0x0002
94#define NILE_MCU_NATIVE_INFO_USB_DETECT 0x0004
95#define NILE_MCU_NATIVE_INFO_USB_CONNECT 0x0008
96#define NILE_MCU_NATIVE_INFO_BATTERY_OK 0x0010
@ NILE_MCU_NATIVE_CMD_REG_WRITE
@ NILE_MCU_NATIVE_CMD_USB_CDC_WRITE
@ NILE_MCU_NATIVE_CMD_FREQ
@ NILE_MCU_NATIVE_CMD_VERSION
@ NILE_MCU_NATIVE_CMD_ACCEL_READ
@ NILE_MCU_NATIVE_CMD_ECHO
@ NILE_MCU_NATIVE_CMD_USB_HID_WRITE
@ NILE_MCU_NATIVE_CMD_SET_SAVE_ID
@ NILE_MCU_NATIVE_CMD_MODE
@ NILE_MCU_NATIVE_CMD_EEPROM_READ
@ NILE_MCU_NATIVE_CMD_EEPROM_ERASE
@ NILE_MCU_NATIVE_CMD_INFO
@ NILE_MCU_NATIVE_CMD_USB_CDC_READ
@ NILE_MCU_NATIVE_CMD_USB_CDC_FLUSH
@ NILE_MCU_NATIVE_CMD_EEPROM_WRITE
@ NILE_MCU_NATIVE_CMD_ACCEL_POLL
@ NILE_MCU_NATIVE_CMD_USB_CDC_AVAILABLE
@ NILE_MCU_NATIVE_CMD_GET_SAVE_ID
@ NILE_MCU_NATIVE_CMD_REG_READ
@ NILE_MCU_NATIVE_CMD_RTC_COMMAND
@ NILE_MCU_NATIVE_CMD_EEPROM_GET_MODE
@ NILE_MCU_NATIVE_CMD_EEPROM_MODE
@ NILE_MCU_NATIVE_MODE_STANDBY
MCU standby mode - will not respond to further SPI messages until reset.
@ NILE_MCU_NATIVE_MODE_RTC
RTC emulation mode.
@ NILE_MCU_NATIVE_MODE_CDC
CDC output-only mode.
@ NILE_MCU_NATIVE_MODE_EEPROM
EEPROM emulation mode.
@ NILE_MCU_NATIVE_MODE_CMD
Native command mode.