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

firmware: update to v1.10

parent 3e9bbc74
No related branches found
No related tags found
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)
_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 */
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)
_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 */
void epic_set_flashlight(_Bool power)
{
......@@ -1174,7 +1203,7 @@ int epic_max30001_enable_sensor( struct max30001_sensor_config *config )
}
/* Autogenerated stub for API_MAX30001_DISABLE */
int epic_max30001_disable_sensor( void )
int epic_max30001_disable_sensor()
{
const int epc__apistub_size = 0;
void*epc__apistub_buffer;
......@@ -1225,24 +1254,40 @@ int epic_usb_cdcacm(void)
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 */
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)
__attribute__((weak, alias("__epic_isr_default_handler")));
void epic_isr_uart_rx(api_int_id_t id)
__attribute__((weak, alias("__epic_isr_default_handler")));
void epic_isr_ctrl_c(api_int_id_t id)
__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)
__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 */
__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)
void __dispatch_isr(api_int_id_t 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:
__epic_isr_reset(id);
break;
......@@ -1287,9 +1320,21 @@ void __dispatch_isr(api_int_id_t id)
case EPIC_INT_CTRL_C:
epic_isr_ctrl_c(id);
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:
epic_isr_rtc_alarm(id);
break;
case EPIC_INT_MAX30001_ECG:
epic_isr_max30001_ecg(id);
break;
case (-1):
/* Ignore a spurious interrupt */
break;
......
......@@ -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))
);
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:
epic_leds_set_hsv(
*(int*)(epc__apistub_buffer + 0),
......@@ -170,6 +176,11 @@ void __api_dispatch_call(uint32_t id, void*epc__apistub_buffer)
*(uint8_t*)(epc__apistub_buffer + sizeof(int))
);
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:
epic_set_flashlight(
*(_Bool*)(epc__apistub_buffer + 0)
......@@ -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))
);
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:
*((int*)epc__apistub_buffer) = epic_disp_clear(
*(uint16_t*)(epc__apistub_buffer + 0)
......@@ -459,6 +480,13 @@ void __api_dispatch_call(uint32_t id, void*epc__apistub_buffer)
*((int*)epc__apistub_buffer) = epic_usb_cdcacm(
);
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:
/* TODO: Better error handling */
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