xref: /btstack/test/embedded/freertos_test.cpp (revision 421ee5a81fc93c586b09dd2826138e3d0de0c9f8)
1 #include <stdint.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <string.h>
5 
6 #include "CppUTest/TestHarness.h"
7 #include "CppUTest/CommandLineTestRunner.h"
8 
9 #include "ble/att_db.h"
10 #include "ble/att_db_util.h"
11 #include "btstack_util.h"
12 #include "bluetooth.h"
13 #include "btstack_audio.h"
14 
15 #include "hal_audio.h"
16 #include "hal_cpu.h"
17 #include "hal_em9304_spi.h"
18 #include "hal_flash_bank.h"
19 #include "hal_flash_bank_memory.h"
20 #include "hal_led.h"
21 #include "hal_stdin.h"
22 #include "hal_tick.h"
23 #include "hal_time_ms.h"
24 #include "hal_uart_dma.h"
25 
26 #include "queue.h"
27 #include "task.h"
28 #include "event_groups.h"
29 
30 // quick mock to add freertos support to coverage
31 
32 // hal_cpu
33 void hal_cpu_disable_irqs(void){}
34 void hal_cpu_enable_irqs(void){}
35 void hal_cpu_enable_irqs_and_sleep(void){}
36 
37 // hal_em9304_spi
38 void hal_em9304_spi_init(void){}
39 void hal_em9304_spi_deinit(void){}
40 void hal_em9304_spi_set_ready_callback(void (*callback)(void)){}
41 void hal_em9304_spi_set_transfer_done_callback(void (*callback)(void)){}
42 void hal_em9304_spi_enable_ready_interrupt(void){}
43 void hal_em9304_spi_disable_ready_interrupt(void){}
44 int  hal_em9304_spi_get_ready(){ return 0; }
45 void hal_em9304_spi_set_chip_select(int enable){}
46 int  hal_em9304_spi_get_fullduplex_support(void){ return 0; }
47 void hal_em9304_spi_transceive(const uint8_t * tx_data, uint8_t * rx_data, uint16_t len){}
48 void hal_em9304_spi_transmit(const uint8_t * tx_data, uint16_t len){}
49 void hal_em9304_spi_receive(uint8_t * rx_data, uint16_t len){}
50 
51 // hal_stdin_setup
52 void hal_stdin_setup(void (*handler)(char c)){}
53 
54 // hal_uart_dma
55 void hal_uart_dma_init(void){}
56 void hal_uart_dma_set_block_received( void (*callback)(void)){}
57 void hal_uart_dma_set_block_sent( void (*callback)(void)){}
58 int  hal_uart_dma_set_baud(uint32_t baud){ return 0; }
59 int  hal_uart_dma_set_flowcontrol(int flowcontrol){ return 0;}
60 void hal_uart_dma_send_block(const uint8_t *buffer, uint16_t length){}
61 void hal_uart_dma_receive_block(uint8_t *buffer, uint16_t len){}
62 void hal_uart_dma_set_csr_irq_handler( void (*csr_irq_handler)(void)){}
63 void hal_uart_dma_set_sleep(uint8_t sleep){}
64 int  hal_uart_dma_get_supported_sleep_modes(void){ return 0; }
65 // void hal_uart_dma_set_sleep_mode(btstack_uart_sleep_mode_t sleep_mode){}
66 
67 // hal_audio_sink
68 void hal_audio_sink_init(uint8_t channels, uint32_t sample_rate,void (*buffer_played_callback)(uint8_t buffer_index)){}
69 uint16_t hal_audio_sink_get_num_output_buffers(void){ return 0; }
70 uint16_t hal_audio_sink_get_num_output_buffer_samples(void){ return 0; }
71 int16_t * hal_audio_sink_get_output_buffer(uint8_t buffer_index){ return NULL; }
72 void hal_audio_sink_start(void){}
73 void hal_audio_sink_stop(void){}
74 void hal_audio_sink_close(void){}
75 void hal_audio_source_init(uint8_t channels, uint32_t sample_rate, void (*buffer_recorded_callback)(const int16_t * buffer, uint16_t num_samples)){}
76 void hal_audio_source_start(void){}
77 void hal_audio_source_stop(void){}
78 void hal_audio_source_close(void){}
79 
80 // hal_time_ms
81 uint32_t hal_time_ms(void){ return 0; }
82 
83 BaseType_t xQueueSendToBack(QueueHandle_t xQueue, const void * pvItemToQueue, TickType_t xTicksToWait){
84 	return 0;
85 }
86 BaseType_t xQueueSendToBackFromISR(QueueHandle_t xQueue, const void *pvItemToQueue, BaseType_t *pxHigherPriorityTaskWoken){
87 	return 0;
88 }
89 BaseType_t xQueueReceive(QueueHandle_t xQueue,void *pvBuffer,TickType_t xTicksToWait){
90 	return 0;
91 }
92 QueueHandle_t xQueueCreateStatic( UBaseType_t uxQueueLength, UBaseType_t uxItemSize, uint8_t *pucQueueStorageBuffer, StaticQueue_t *pxQueueBuffer ){
93 	return 0;
94 }
95 
96 EventGroupHandle_t xEventGroupCreate( void ){
97 	return 0;
98 }
99 EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet ){
100 	return 0;
101 }
102 BaseType_t xEventGroupSetBitsFromISR( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet, BaseType_t *pxHigherPriorityTaskWoken ){
103 	return 0;
104 }
105 EventBits_t xEventGroupWaitBits( const EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToWaitFor, const BaseType_t xClearOnExit, const BaseType_t xWaitForAllBits, TickType_t xTicksToWait ){
106 	return 0;
107 }
108 TaskHandle_t xTaskGetCurrentTaskHandle( void ){
109 	return 0;
110 }
111 
112 TEST_GROUP(FreeRTOS){
113     void setup(void){
114     }
115 };
116 
117 TEST(FreeRTOS, Init){
118 
119 }
120 
121 int main (int argc, const char * argv[]){
122     return CommandLineTestRunner::RunAllTests(argc, argv);
123 }
124