Skip to content

File syn_config_template.h

File List > src > syntropic > syn_config_template.h

Go to the documentation of this file

#ifndef SYN_CONFIG_H
#define SYN_CONFIG_H

/* ── Drivers ────────────────────────────────────────────────────────────── */

#define SYN_USE_GPIO 1     
#define SYN_USE_UART 1     
#define SYN_USE_ADC 1      
#define SYN_USE_EXTI 1     
#define SYN_USE_HPCLOCK 1  
#define SYN_USE_TIMESYNC 1 
#define SYN_USE_GEO 1      
/* Console serial (syn_port_serial) is always available — used by CLI/log.  */
/* I2C/SPI device helpers are header-only — always available.               */

/* ── UART tuning ────────────────────────────────────────────────────────── */

#define SYN_UART_TX_BUF_SIZE 128 
#define SYN_UART_RX_BUF_SIZE 128 
#define SYN_UART_MAX_INSTANCES 2 
/* ── Multitasking ───────────────────────────────────────────────────────── */

#define SYN_USE_PT 1        
#define SYN_USE_SCHED 1     
#define SYN_USE_TIMER 1     
#define SYN_USE_EVENT 1     
#define SYN_USE_WATCHDOG 1  
#define SYN_USE_SEQUENCER 1 
#define SYN_USE_WORKQUEUE 1 
#define SYN_USE_TICKLESS 0  
/* Mailbox is header-only — always available.                                */

/* ── Services ───────────────────────────────────────────────────────────── */

#define SYN_USE_LOG 1 
#define SYN_USE_CLI 1 
/* ── Logging tuning ─────────────────────────────────────────────────────── */

#define SYN_LOG_LEVEL 1      
#define SYN_LOG_BUF_SIZE 192 
#define SYN_LOG_TIMESTAMP 1  
#define SYN_LOG_COLOR 0      
/* ── CLI tuning ─────────────────────────────────────────────────────────── */

#define SYN_CLI_LINE_BUF_SIZE 128 
#define SYN_CLI_MAX_ARGS 16       
#define SYN_CLI_HISTORY_DEPTH 0   
/* ── Input / Output ─────────────────────────────────────────────────────── */

#define SYN_USE_BUTTON 1   
#define SYN_USE_ENCODER 1  
#define SYN_USE_LED 1      
#define SYN_USE_SOFT_PWM 1 
/* ── Control & Motor ────────────────────────────────────────────────────── */

#define SYN_USE_PID 1        
#define SYN_USE_STEPPER 1    
#define SYN_USE_SERVO 1      
#define SYN_USE_DC_MOTOR 1   
#define SYN_USE_MOTOR_CTRL 1 
#define SYN_USE_AUTOTUNE 1   
#define SYN_USE_ACTUATOR 1   
/* ── DSP / Filters ──────────────────────────────────────────────────────── */

#define SYN_USE_FILTER 1         
#define SYN_USE_SIGNAL 1         
#define SYN_USE_BIQUAD 1         
#define SYN_USE_FFT 1            
#define SYN_FILTER_MAX_WINDOW 32 
/* ── State Machines / Concurrency ───────────────────────────────────────── */

#define SYN_USE_FSM 1 
#define SYN_USE_AO 1  
/* ── Cryptography ───────────────────────────────────────────────────────── */

#define SYN_USE_BLAKE2S 1          
#define SYN_USE_CHACHA20POLY1305 1 
#define SYN_USE_X25519 1           
/* ── Communication / Protocols ──────────────────────────────────────────── */

#define SYN_USE_COBS 1      
#define SYN_USE_ETHERCAT 1  
#define SYN_USE_LIN 1       
#define SYN_USE_DALI 1      
#define SYN_USE_SMBUS 1     
#define SYN_USE_PMBUS 1     
#define SYN_USE_MBUS 1      
#define SYN_USE_MODBUS 1    
#define SYN_USE_MQTT 1      
#define SYN_USE_HTTP 1      
#define SYN_USE_HTTPD 1     
#define SYN_USE_WEBSOCKET 1 
#define SYN_USE_COAP 1      
#define SYN_USE_DNS 1       
#define SYN_USE_ROUTER 1    
#define SYN_USE_HEARTBEAT 1 
#define SYN_USE_SNTP 1      
#define SYN_USE_WG \
    1 
#define SYN_WG_MTU 1420         
#define SYN_USE_TRANSPORT_TCP 1 
/* ── Sensor ─────────────────────────────────────────────────────────────── */

#define SYN_USE_SENSOR 1 
/* ── Storage ────────────────────────────────────────────────────────────── */

#define SYN_USE_PARAM 1    
#define SYN_USE_SETTINGS 1 
#define SYN_USE_VFS 1      
#define SYN_USE_LFS 1      
#define SYN_USE_FAT 1      
/* ── Display / UI ───────────────────────────────────────────────────────── */

#define SYN_GFX_BACKEND_CANVAS 0               
#define SYN_GFX_BACKEND_DIRECT 1               
#define SYN_GFX_BACKEND SYN_GFX_BACKEND_CANVAS 
#define SYN_USE_CANVAS 1 
#define SYN_USE_MENU 1   
#define SYN_USE_IMGUI 1  
/* ── System ─────────────────────────────────────────────────────────────── */

#define SYN_USE_BOOT 1     
#define SYN_USE_ERRLOG 1   
#define SYN_USE_FAULT 1    
#define SYN_USE_HWWDT 1    
#define SYN_USE_POWER 1    
#define SYN_USE_COREDUMP 0 
/* #define SYN_COREDUMP_FLASH_ADDR 0x0803F800 */ 
#define SYN_COREDUMP_STACK_SIZE 128              
/* Version and Sleep are header-only — always available.                     */

/* ── Firmware Security ─────────────────────────────────────────────────── */

#define SYN_FW_USE_HMAC 0 
/* ── DMA ───────────────────────────────────────────────────────────────── */

#define SYN_USE_DMA 0 
/* ── Async Peripherals ─────────────────────────────────────────────────── */

#define SYN_USE_I2C_ASYNC 0 
#define SYN_USE_SPI_ASYNC 0 
/* ── Multicore (AMP) ───────────────────────────────────────────────────── */

#define SYN_USE_MULTICORE 0  
#define SYN_SPINLOCK_COUNT 4 
/* ── Debug ──────────────────────────────────────────────────────────────── */

#define SYN_USE_TRACE 1    
#define SYN_USE_PROFILER 1 
/* ── Logging ────────────────────────────────────────────────────────────── */

#define SYN_USE_DATALOG 1 
/* ── Utilities ──────────────────────────────────────────────────────────── */

#define SYN_USE_FMT 1       
#define SYN_USE_CBOR 1      
#define SYN_USE_JSON 1      
#define SYN_USE_SHA256 1    
#define SYN_USE_POOL 1      
#define SYN_USE_PUBSUB 1    
#define SYN_USE_RAMP 1      
#define SYN_USE_SCURVE 1    
#define SYN_CRC_USE_TABLE 1 
/* Ring buffer, assert, bits, timeout, hysteresis, change filter, LUT,        */
/* Q-math, rate limiter, ping-pong, CRC, and mailbox are always available.    */

/* ── Assert configuration ───────────────────────────────────────────────── */

/* Uncomment to compile out all SYN_ASSERT() calls in release builds. */
/* #define SYN_DISABLE_ASSERT */

#endif /* SYN_CONFIG_H */