 f5b2ed67d5
			
		
	
	
		f5b2ed67d5
		
			
		
	
	
	
	
		
			
			* Github: treat non 0 exit code as fatal * GitHub: inject missing -e flag to bash in docker * Firmware: sync targets
		
			
				
	
	
		
			45 lines
		
	
	
		
			886 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			886 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include <stdint.h>
 | |
| #include <stdbool.h>
 | |
| 
 | |
| #define SERIAL_SVC_DATA_LEN_MAX (486)
 | |
| #define SERIAL_SVC_CHAR_VALUE_LEN_MAX (243)
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| typedef enum {
 | |
|     SerialServiceEventTypeDataReceived,
 | |
|     SerialServiceEventTypeDataSent,
 | |
| } SerialServiceEventType;
 | |
| 
 | |
| typedef struct {
 | |
|     uint8_t* buffer;
 | |
|     uint16_t size;
 | |
| } SerialServiceData;
 | |
| 
 | |
| typedef struct {
 | |
|     SerialServiceEventType event;
 | |
|     SerialServiceData data;
 | |
| } SerialServiceEvent;
 | |
| 
 | |
| typedef uint16_t(*SerialServiceEventCallback)(SerialServiceEvent event, void* context);
 | |
| 
 | |
| void serial_svc_start();
 | |
| 
 | |
| void serial_svc_set_callbacks(uint16_t buff_size, SerialServiceEventCallback callback, void* context);
 | |
| 
 | |
| void serial_svc_notify_buffer_is_empty();
 | |
| 
 | |
| void serial_svc_stop();
 | |
| 
 | |
| bool serial_svc_is_started();
 | |
| 
 | |
| bool serial_svc_update_tx(uint8_t* data, uint16_t data_len);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 |