Skip to content
Snippets Groups Projects
Commit 00129c66 authored by Astro's avatar Astro :gear:
Browse files

firmware: update to v1.10

parent 3e9bbc74
Branches
Tags
No related merge requests found
Pipeline #3864 passed
firmware @ 9325a212
Subproject commit c7b7bc8468f94f52c2af115b795d98b6b0974852 Subproject commit 9325a21266bf5647410d803539190962aa646a84
...@@ -289,6 +289,21 @@ void epic_leds_set(int led, uint8_t r, uint8_t g, uint8_t b) ...@@ -289,6 +289,21 @@ void epic_leds_set(int led, uint8_t r, uint8_t g, uint8_t b)
_api_call_transact(epc__apistub_buffer); _api_call_transact(epc__apistub_buffer);
} }
/* Autogenerated stub for API_LEDS_GET */
int epic_leds_get_rgb(int led, uint8_t * rgb)
{
const int epc__apistub_size = sizeof(int) + sizeof(uint8_t *);
void*epc__apistub_buffer;
epc__apistub_buffer = _api_call_start(API_LEDS_GET, epc__apistub_size);
/* TODO: Check if epc__apistub_buffer is not NULL */
*(int*)(epc__apistub_buffer + 0) = led;
*(uint8_t **)(epc__apistub_buffer + sizeof(int)) = rgb;
return *(int*)_api_call_transact(epc__apistub_buffer);
}
/* Autogenerated stub for API_LEDS_SET_HSV */ /* Autogenerated stub for API_LEDS_SET_HSV */
void epic_leds_set_hsv( int led, float h, float s, float v ) void epic_leds_set_hsv( int led, float h, float s, float v )
{ {
...@@ -440,6 +455,20 @@ void epic_leds_set_rocket(int led, uint8_t value) ...@@ -440,6 +455,20 @@ void epic_leds_set_rocket(int led, uint8_t value)
_api_call_transact(epc__apistub_buffer); _api_call_transact(epc__apistub_buffer);
} }
/* Autogenerated stub for API_LEDS_GET_ROCKET */
int epic_leds_get_rocket(int led)
{
const int epc__apistub_size = sizeof(int);
void*epc__apistub_buffer;
epc__apistub_buffer = _api_call_start(API_LEDS_GET_ROCKET, epc__apistub_size);
/* TODO: Check if epc__apistub_buffer is not NULL */
*(int*)(epc__apistub_buffer + 0) = led;
return *(int*)_api_call_transact(epc__apistub_buffer);
}
/* Autogenerated stub for API_LEDS_SET_FLASHLIGHT */ /* Autogenerated stub for API_LEDS_SET_FLASHLIGHT */
void epic_set_flashlight(_Bool power) void epic_set_flashlight(_Bool power)
{ {
...@@ -1174,7 +1203,7 @@ int epic_max30001_enable_sensor( struct max30001_sensor_config *config ) ...@@ -1174,7 +1203,7 @@ int epic_max30001_enable_sensor( struct max30001_sensor_config *config )
} }
/* Autogenerated stub for API_MAX30001_DISABLE */ /* Autogenerated stub for API_MAX30001_DISABLE */
int epic_max30001_disable_sensor( void ) int epic_max30001_disable_sensor()
{ {
const int epc__apistub_size = 0; const int epc__apistub_size = 0;
void*epc__apistub_buffer; void*epc__apistub_buffer;
...@@ -1225,24 +1254,40 @@ int epic_usb_cdcacm(void) ...@@ -1225,24 +1254,40 @@ int epic_usb_cdcacm(void)
return *(int*)_api_call_transact(epc__apistub_buffer); return *(int*)_api_call_transact(epc__apistub_buffer);
} }
/* Autogenerated stub for API_WS2812_WRITE */
void epic_ws2812_write(uint8_t pin, uint8_t *pixels, uint32_t n_bytes)
{
const int epc__apistub_size = sizeof(uint8_t) + sizeof(uint8_t *) + sizeof(uint32_t);
void*epc__apistub_buffer;
epc__apistub_buffer = _api_call_start(API_WS2812_WRITE, epc__apistub_size);
/* TODO: Check if epc__apistub_buffer is not NULL */
*(uint8_t*)(epc__apistub_buffer + 0) = pin;
*(uint8_t **)(epc__apistub_buffer + sizeof(uint8_t)) = pixels;
*(uint32_t*)(epc__apistub_buffer + sizeof(uint8_t) + sizeof(uint8_t *)) = n_bytes;
_api_call_transact(epc__apistub_buffer);
}
/* Weakly linked stubs for ISRs */ /* Weakly linked stubs for ISRs */
void epic_isr_bhi160_accelerometer(api_int_id_t id)
__attribute__((weak, alias("__epic_isr_default_handler")));
void epic_isr_bhi160_orientation(api_int_id_t id)
__attribute__((weak, alias("__epic_isr_default_handler")));
void epic_isr_bhi160_gyroscope(api_int_id_t id)
__attribute__((weak, alias("__epic_isr_default_handler")));
void epic_isr_max30001_ecg(api_int_id_t id)
__attribute__((weak, alias("__epic_isr_default_handler")));
void __epic_isr_reset(api_int_id_t id) void __epic_isr_reset(api_int_id_t id)
__attribute__((weak, alias("__epic_isr_default_handler"))); __attribute__((weak, alias("__epic_isr_default_handler")));
void epic_isr_uart_rx(api_int_id_t id) void epic_isr_uart_rx(api_int_id_t id)
__attribute__((weak, alias("__epic_isr_default_handler"))); __attribute__((weak, alias("__epic_isr_default_handler")));
void epic_isr_ctrl_c(api_int_id_t id) void epic_isr_ctrl_c(api_int_id_t id)
__attribute__((weak, alias("__epic_isr_default_handler"))); __attribute__((weak, alias("__epic_isr_default_handler")));
void epic_isr_bhi160_accelerometer(api_int_id_t id)
__attribute__((weak, alias("__epic_isr_default_handler")));
void epic_isr_bhi160_orientation(api_int_id_t id)
__attribute__((weak, alias("__epic_isr_default_handler")));
void epic_isr_bhi160_gyroscope(api_int_id_t id)
__attribute__((weak, alias("__epic_isr_default_handler")));
void epic_isr_rtc_alarm(api_int_id_t id) void epic_isr_rtc_alarm(api_int_id_t id)
__attribute__((weak, alias("__epic_isr_default_handler"))); __attribute__((weak, alias("__epic_isr_default_handler")));
void epic_isr_max30001_ecg(api_int_id_t id)
__attribute__((weak, alias("__epic_isr_default_handler")));
/* Default handler stub */ /* Default handler stub */
__attribute__((weak)) void epic_isr_default_handler(api_int_id_t id) __attribute__((weak)) void epic_isr_default_handler(api_int_id_t id)
...@@ -1266,18 +1311,6 @@ void __epic_isr_default_handler(api_int_id_t id) ...@@ -1266,18 +1311,6 @@ void __epic_isr_default_handler(api_int_id_t id)
void __dispatch_isr(api_int_id_t id) void __dispatch_isr(api_int_id_t id)
{ {
switch (id) { switch (id) {
case EPIC_INT_BHI160_ACCELEROMETER:
epic_isr_bhi160_accelerometer(id);
break;
case EPIC_INT_BHI160_ORIENTATION:
epic_isr_bhi160_orientation(id);
break;
case EPIC_INT_BHI160_GYROSCOPE:
epic_isr_bhi160_gyroscope(id);
break;
case EPIC_INT_MAX30001_ECG:
epic_isr_max30001_ecg(id);
break;
case EPIC_INT_RESET: case EPIC_INT_RESET:
__epic_isr_reset(id); __epic_isr_reset(id);
break; break;
...@@ -1287,9 +1320,21 @@ void __dispatch_isr(api_int_id_t id) ...@@ -1287,9 +1320,21 @@ void __dispatch_isr(api_int_id_t id)
case EPIC_INT_CTRL_C: case EPIC_INT_CTRL_C:
epic_isr_ctrl_c(id); epic_isr_ctrl_c(id);
break; break;
case EPIC_INT_BHI160_ACCELEROMETER:
epic_isr_bhi160_accelerometer(id);
break;
case EPIC_INT_BHI160_ORIENTATION:
epic_isr_bhi160_orientation(id);
break;
case EPIC_INT_BHI160_GYROSCOPE:
epic_isr_bhi160_gyroscope(id);
break;
case EPIC_INT_RTC_ALARM: case EPIC_INT_RTC_ALARM:
epic_isr_rtc_alarm(id); epic_isr_rtc_alarm(id);
break; break;
case EPIC_INT_MAX30001_ECG:
epic_isr_max30001_ecg(id);
break;
case (-1): case (-1):
/* Ignore a spurious interrupt */ /* Ignore a spurious interrupt */
break; break;
......
...@@ -109,6 +109,12 @@ void __api_dispatch_call(uint32_t id, void*epc__apistub_buffer) ...@@ -109,6 +109,12 @@ void __api_dispatch_call(uint32_t id, void*epc__apistub_buffer)
*(uint8_t*)(epc__apistub_buffer + sizeof(int) + sizeof(uint8_t) + sizeof(uint8_t)) *(uint8_t*)(epc__apistub_buffer + sizeof(int) + sizeof(uint8_t) + sizeof(uint8_t))
); );
break; break;
case API_LEDS_GET:
*((int*)epc__apistub_buffer) = epic_leds_get_rgb(
*(int*)(epc__apistub_buffer + 0),
*(uint8_t **)(epc__apistub_buffer + sizeof(int))
);
break;
case API_LEDS_SET_HSV: case API_LEDS_SET_HSV:
epic_leds_set_hsv( epic_leds_set_hsv(
*(int*)(epc__apistub_buffer + 0), *(int*)(epc__apistub_buffer + 0),
...@@ -170,6 +176,11 @@ void __api_dispatch_call(uint32_t id, void*epc__apistub_buffer) ...@@ -170,6 +176,11 @@ void __api_dispatch_call(uint32_t id, void*epc__apistub_buffer)
*(uint8_t*)(epc__apistub_buffer + sizeof(int)) *(uint8_t*)(epc__apistub_buffer + sizeof(int))
); );
break; break;
case API_LEDS_GET_ROCKET:
*((int*)epc__apistub_buffer) = epic_leds_get_rocket(
*(int*)(epc__apistub_buffer + 0)
);
break;
case API_LEDS_SET_FLASHLIGHT: case API_LEDS_SET_FLASHLIGHT:
epic_set_flashlight( epic_set_flashlight(
*(_Bool*)(epc__apistub_buffer + 0) *(_Bool*)(epc__apistub_buffer + 0)
...@@ -268,6 +279,16 @@ void __api_dispatch_call(uint32_t id, void*epc__apistub_buffer) ...@@ -268,6 +279,16 @@ void __api_dispatch_call(uint32_t id, void*epc__apistub_buffer)
*(uint16_t*)(epc__apistub_buffer + sizeof(uint16_t) + sizeof(uint16_t) + sizeof(const char *) + sizeof(uint16_t)) *(uint16_t*)(epc__apistub_buffer + sizeof(uint16_t) + sizeof(uint16_t) + sizeof(const char *) + sizeof(uint16_t))
); );
break; break;
case API_DISP_PRINT_ADV:
*((int*)epc__apistub_buffer) = epic_disp_print_adv(
*(uint8_t*)(epc__apistub_buffer + 0),
*(uint16_t*)(epc__apistub_buffer + sizeof(uint8_t)),
*(uint16_t*)(epc__apistub_buffer + sizeof(uint8_t) + sizeof(uint16_t)),
*(const char **)(epc__apistub_buffer + sizeof(uint8_t) + sizeof(uint16_t) + sizeof(uint16_t)),
*(uint16_t*)(epc__apistub_buffer + sizeof(uint8_t) + sizeof(uint16_t) + sizeof(uint16_t) + sizeof(const char *)),
*(uint16_t*)(epc__apistub_buffer + sizeof(uint8_t) + sizeof(uint16_t) + sizeof(uint16_t) + sizeof(const char *) + sizeof(uint16_t))
);
break;
case API_DISP_CLEAR: case API_DISP_CLEAR:
*((int*)epc__apistub_buffer) = epic_disp_clear( *((int*)epc__apistub_buffer) = epic_disp_clear(
*(uint16_t*)(epc__apistub_buffer + 0) *(uint16_t*)(epc__apistub_buffer + 0)
...@@ -459,6 +480,13 @@ void __api_dispatch_call(uint32_t id, void*epc__apistub_buffer) ...@@ -459,6 +480,13 @@ void __api_dispatch_call(uint32_t id, void*epc__apistub_buffer)
*((int*)epc__apistub_buffer) = epic_usb_cdcacm( *((int*)epc__apistub_buffer) = epic_usb_cdcacm(
); );
break; break;
case API_WS2812_WRITE:
epic_ws2812_write(
*(uint8_t*)(epc__apistub_buffer + 0),
*(uint8_t **)(epc__apistub_buffer + sizeof(uint8_t)),
*(uint32_t*)(epc__apistub_buffer + sizeof(uint8_t) + sizeof(uint8_t *))
);
break;
default: default:
/* TODO: Better error handling */ /* TODO: Better error handling */
LOG_ERR("api-dispatcher", "API function 0x%lx is unknown!!", id); LOG_ERR("api-dispatcher", "API function 0x%lx is unknown!!", id);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment