diff --git a/Firmware/Olfactometer/Olfactometer.cproj b/Firmware/Olfactometer/Olfactometer.cproj index bd8def2..170c70e 100644 --- a/Firmware/Olfactometer/Olfactometer.cproj +++ b/Firmware/Olfactometer/Olfactometer.cproj @@ -144,7 +144,7 @@ libm - libATxmega128A1U-1.14.a + libATxmega128A1U-1.15.a diff --git a/Firmware/Olfactometer/app.c b/Firmware/Olfactometer/app.c index 1229e91..ad62c15 100644 --- a/Firmware/Olfactometer/app.c +++ b/Firmware/Olfactometer/app.c @@ -62,7 +62,7 @@ void hwbp_app_initialize(void) uint8_t hwH = 2; uint8_t hwL = 1; uint8_t fwH = 2; - uint8_t fwL = 2; + uint8_t fwL = 3; uint8_t ass = 0; /* Start core */ diff --git a/Firmware/Olfactometer/hwbp_core.h b/Firmware/Olfactometer/hwbp_core.h index 515d930..ccdc8b5 100644 --- a/Firmware/Olfactometer/hwbp_core.h +++ b/Firmware/Olfactometer/hwbp_core.h @@ -114,6 +114,24 @@ bool core_clock_to_unlock(void); /// It is mandatory that this function is the first of the application code. +void core_func_start_core_V2 ( + const uint16_t who_am_i, + const uint8_t hwH, + const uint8_t hwL, + const uint8_t hwP, + const uint8_t fwH, + const uint8_t fwL, + const uint8_t fwP, + uint8_t *pointer_to_app_regs, + const uint16_t app_mem_size_to_save, + const uint8_t num_of_app_registers, + const uint8_t *device_name, + const bool device_is_able_to_repeat_clock, + const bool device_is_able_to_generate_clock, + const uint8_t default_timestamp_offset + ); + +/// Old initialization function. Use "core_func_start_core_V2()" instead. void core_func_start_core ( const uint16_t who_am_i, const uint8_t hwH, diff --git a/Firmware/Olfactometer/hwbp_core_regs.h b/Firmware/Olfactometer/hwbp_core_regs.h index 52f0728..7435cfb 100644 --- a/Firmware/Olfactometer/hwbp_core_regs.h +++ b/Firmware/Olfactometer/hwbp_core_regs.h @@ -25,6 +25,7 @@ struct CommonBank uint8_t R_UID[16]; uint8_t R_TAG[8]; uint16_t R_HEARTBEAT; + uint8_t R_VERSION[32]; }; /************************************************************************/ @@ -50,9 +51,10 @@ struct CommonBank #define ADD_R_UID 0x10 // U8[16] #define ADD_R_TAG 0x11 // U8[8] #define ADD_R_HEARTBEAT 0x12 // U16 +#define ADD_R_VERSION 0x13 // U8[32] /* Memory limits */ -#define COMMON_BANK_ADD_MAX 0x12 +#define COMMON_BANK_ADD_MAX 0x13 #define COMMON_BANK_ABSOLUTE_ADD_MAX 0x1C /* R_OPERATION_CTRL */ @@ -77,6 +79,7 @@ struct CommonBank #define B_NAME_TO_DEFAULT (1<<3) +#define B_BOOT (1<<5) #define B_BOOT_DEF (1<<6) #define B_BOOT_EE (1<<7) diff --git a/Firmware/Olfactometer/libATxmega128A1U-1.14.a b/Firmware/Olfactometer/libATxmega128A1U-1.14.a deleted file mode 100644 index dbf9a83..0000000 Binary files a/Firmware/Olfactometer/libATxmega128A1U-1.14.a and /dev/null differ diff --git a/Firmware/Olfactometer/libATxmega128A1U-1.15.a b/Firmware/Olfactometer/libATxmega128A1U-1.15.a new file mode 100644 index 0000000..545e330 Binary files /dev/null and b/Firmware/Olfactometer/libATxmega128A1U-1.15.a differ diff --git a/device.yml b/device.yml index 6524ffe..1567373 100644 --- a/device.yml +++ b/device.yml @@ -3,7 +3,7 @@ # yaml-language-server: $schema=https://harp-tech.org/draft-02/schema/device.json device: Olfactometer whoAmI: 1140 -firmwareVersion: "2.2" +firmwareVersion: "2.3" hardwareTargets: "1.0" registers: EnableFlow: