55 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#pragma once
 | 
						|
#include <stdint.h>
 | 
						|
 | 
						|
typedef enum {
 | 
						|
    DapModeDisconnected,
 | 
						|
    DapModeSWD,
 | 
						|
    DapModeJTAG,
 | 
						|
} DapMode;
 | 
						|
 | 
						|
typedef enum {
 | 
						|
    DapVersionUnknown,
 | 
						|
    DapVersionV1,
 | 
						|
    DapVersionV2,
 | 
						|
} DapVersion;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    bool usb_connected;
 | 
						|
    DapMode dap_mode;
 | 
						|
    DapVersion dap_version;
 | 
						|
    uint32_t dap_counter;
 | 
						|
    uint32_t cdc_baudrate;
 | 
						|
    uint32_t cdc_tx_counter;
 | 
						|
    uint32_t cdc_rx_counter;
 | 
						|
} DapState;
 | 
						|
 | 
						|
typedef enum {
 | 
						|
    DapSwdPinsPA7PA6, // Pins 2, 3
 | 
						|
    DapSwdPinsPA14PA13, // Pins 10, 12
 | 
						|
} DapSwdPins;
 | 
						|
 | 
						|
typedef enum {
 | 
						|
    DapUartTypeUSART1, // Pins 13, 14
 | 
						|
    DapUartTypeLPUART1, // Pins 15, 16
 | 
						|
} DapUartType;
 | 
						|
 | 
						|
typedef enum {
 | 
						|
    DapUartTXRXNormal,
 | 
						|
    DapUartTXRXSwap,
 | 
						|
} DapUartTXRX;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    DapSwdPins swd_pins;
 | 
						|
    DapUartType uart_pins;
 | 
						|
    DapUartTXRX uart_swap;
 | 
						|
} DapConfig;
 | 
						|
 | 
						|
typedef struct DapApp DapApp;
 | 
						|
 | 
						|
void dap_app_get_state(DapApp* app, DapState* state);
 | 
						|
 | 
						|
const char* dap_app_get_serial(DapApp* app);
 | 
						|
 | 
						|
void dap_app_set_config(DapApp* app, DapConfig* config);
 | 
						|
 | 
						|
DapConfig* dap_app_get_config(DapApp* app); |