Start of svelte socket rewrite

This commit is contained in:
Niklas Jensen
2025-12-30 01:15:03 +01:00
committed by nikguin04
parent 5459d0edd4
commit 41d1b8e56d
7 changed files with 1769 additions and 31 deletions
@@ -0,0 +1,352 @@
/* Automatically generated nanopb header */
/* Generated by nanopb-1.0.0-dev */
#ifndef PB_PLATFORM_SHARED_WEBSOCKET_MESSAGE_PB_H_INCLUDED
#define PB_PLATFORM_SHARED_WEBSOCKET_MESSAGE_PB_H_INCLUDED
#include <pb.h>
#if PB_PROTO_HEADER_VERSION != 40
#error Regenerate this file with the current version of nanopb generator.
#endif
/* Struct definitions */
/* Individual message data types */
typedef struct _IMUData {
float x;
float y;
float z;
float temp;
} IMUData;
typedef struct _IMUCalibrateData {
char dummy_field;
} IMUCalibrateData;
typedef struct _ModeData {
int32_t mode;
} ModeData;
typedef struct _InputData {
char dummy_field;
} InputData;
typedef struct _AnalyticsData {
char dummy_field;
} AnalyticsData;
typedef struct _PositionData {
char dummy_field;
} PositionData;
typedef struct _AnglesData {
pb_callback_t angles;
} AnglesData;
typedef struct _I2CScanData {
char dummy_field;
} I2CScanData;
typedef struct _PeripheralSettingsData {
char dummy_field;
} PeripheralSettingsData;
typedef struct _OTAStatusData {
char dummy_field;
} OTAStatusData;
typedef struct _GaitData {
char dummy_field;
} GaitData;
typedef struct _ServoStateData {
char dummy_field;
} ServoStateData;
typedef struct _ServoPWMData {
char dummy_field;
} ServoPWMData;
typedef struct _WifiSettingsData {
char dummy_field;
} WifiSettingsData;
typedef struct _SonarData {
char dummy_field;
} SonarData;
typedef struct _RSSIData {
int32_t rssi;
} RSSIData;
/* WebSocket message wrapper
Only ONE field will be set at a time (oneof ensures this) */
typedef struct _WebsocketMessage {
pb_size_t which_message;
union _WebsocketMessage_message {
IMUData imu;
IMUCalibrateData imu_calibrate;
ModeData mode;
InputData input;
AnalyticsData analytics;
PositionData position;
AnglesData angles;
I2CScanData i2c_scan;
PeripheralSettingsData peripheral_settings;
OTAStatusData ota_status;
GaitData gait;
ServoStateData servo_state;
ServoPWMData servo_pwm;
WifiSettingsData wifi_settings;
SonarData sonar;
RSSIData rssi;
} message;
} WebsocketMessage;
#ifdef __cplusplus
extern "C" {
#endif
/* Initializer values for message structs */
#define IMUData_init_default {0, 0, 0, 0}
#define IMUCalibrateData_init_default {0}
#define ModeData_init_default {0}
#define InputData_init_default {0}
#define AnalyticsData_init_default {0}
#define PositionData_init_default {0}
#define AnglesData_init_default {{{NULL}, NULL}}
#define I2CScanData_init_default {0}
#define PeripheralSettingsData_init_default {0}
#define OTAStatusData_init_default {0}
#define GaitData_init_default {0}
#define ServoStateData_init_default {0}
#define ServoPWMData_init_default {0}
#define WifiSettingsData_init_default {0}
#define SonarData_init_default {0}
#define RSSIData_init_default {0}
#define WebsocketMessage_init_default {0, {IMUData_init_default}}
#define IMUData_init_zero {0, 0, 0, 0}
#define IMUCalibrateData_init_zero {0}
#define ModeData_init_zero {0}
#define InputData_init_zero {0}
#define AnalyticsData_init_zero {0}
#define PositionData_init_zero {0}
#define AnglesData_init_zero {{{NULL}, NULL}}
#define I2CScanData_init_zero {0}
#define PeripheralSettingsData_init_zero {0}
#define OTAStatusData_init_zero {0}
#define GaitData_init_zero {0}
#define ServoStateData_init_zero {0}
#define ServoPWMData_init_zero {0}
#define WifiSettingsData_init_zero {0}
#define SonarData_init_zero {0}
#define RSSIData_init_zero {0}
#define WebsocketMessage_init_zero {0, {IMUData_init_zero}}
/* Field tags (for use in manual encoding/decoding) */
#define IMUData_x_tag 1
#define IMUData_y_tag 2
#define IMUData_z_tag 3
#define IMUData_temp_tag 4
#define ModeData_mode_tag 1
#define AnglesData_angles_tag 1
#define RSSIData_rssi_tag 1
#define WebsocketMessage_imu_tag 10
#define WebsocketMessage_imu_calibrate_tag 20
#define WebsocketMessage_mode_tag 30
#define WebsocketMessage_input_tag 40
#define WebsocketMessage_analytics_tag 50
#define WebsocketMessage_position_tag 60
#define WebsocketMessage_angles_tag 70
#define WebsocketMessage_i2c_scan_tag 80
#define WebsocketMessage_peripheral_settings_tag 90
#define WebsocketMessage_ota_status_tag 100
#define WebsocketMessage_gait_tag 110
#define WebsocketMessage_servo_state_tag 120
#define WebsocketMessage_servo_pwm_tag 130
#define WebsocketMessage_wifi_settings_tag 140
#define WebsocketMessage_sonar_tag 150
#define WebsocketMessage_rssi_tag 160
/* Struct field encoding specification for nanopb */
#define IMUData_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, FLOAT, x, 1) \
X(a, STATIC, SINGULAR, FLOAT, y, 2) \
X(a, STATIC, SINGULAR, FLOAT, z, 3) \
X(a, STATIC, SINGULAR, FLOAT, temp, 4)
#define IMUData_CALLBACK NULL
#define IMUData_DEFAULT NULL
#define IMUCalibrateData_FIELDLIST(X, a) \
#define IMUCalibrateData_CALLBACK NULL
#define IMUCalibrateData_DEFAULT NULL
#define ModeData_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, INT32, mode, 1)
#define ModeData_CALLBACK NULL
#define ModeData_DEFAULT NULL
#define InputData_FIELDLIST(X, a) \
#define InputData_CALLBACK NULL
#define InputData_DEFAULT NULL
#define AnalyticsData_FIELDLIST(X, a) \
#define AnalyticsData_CALLBACK NULL
#define AnalyticsData_DEFAULT NULL
#define PositionData_FIELDLIST(X, a) \
#define PositionData_CALLBACK NULL
#define PositionData_DEFAULT NULL
#define AnglesData_FIELDLIST(X, a) \
X(a, CALLBACK, REPEATED, FLOAT, angles, 1)
#define AnglesData_CALLBACK pb_default_field_callback
#define AnglesData_DEFAULT NULL
#define I2CScanData_FIELDLIST(X, a) \
#define I2CScanData_CALLBACK NULL
#define I2CScanData_DEFAULT NULL
#define PeripheralSettingsData_FIELDLIST(X, a) \
#define PeripheralSettingsData_CALLBACK NULL
#define PeripheralSettingsData_DEFAULT NULL
#define OTAStatusData_FIELDLIST(X, a) \
#define OTAStatusData_CALLBACK NULL
#define OTAStatusData_DEFAULT NULL
#define GaitData_FIELDLIST(X, a) \
#define GaitData_CALLBACK NULL
#define GaitData_DEFAULT NULL
#define ServoStateData_FIELDLIST(X, a) \
#define ServoStateData_CALLBACK NULL
#define ServoStateData_DEFAULT NULL
#define ServoPWMData_FIELDLIST(X, a) \
#define ServoPWMData_CALLBACK NULL
#define ServoPWMData_DEFAULT NULL
#define WifiSettingsData_FIELDLIST(X, a) \
#define WifiSettingsData_CALLBACK NULL
#define WifiSettingsData_DEFAULT NULL
#define SonarData_FIELDLIST(X, a) \
#define SonarData_CALLBACK NULL
#define SonarData_DEFAULT NULL
#define RSSIData_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, INT32, rssi, 1)
#define RSSIData_CALLBACK NULL
#define RSSIData_DEFAULT NULL
#define WebsocketMessage_FIELDLIST(X, a) \
X(a, STATIC, ONEOF, MESSAGE, (message,imu,message.imu), 10) \
X(a, STATIC, ONEOF, MESSAGE, (message,imu_calibrate,message.imu_calibrate), 20) \
X(a, STATIC, ONEOF, MESSAGE, (message,mode,message.mode), 30) \
X(a, STATIC, ONEOF, MESSAGE, (message,input,message.input), 40) \
X(a, STATIC, ONEOF, MESSAGE, (message,analytics,message.analytics), 50) \
X(a, STATIC, ONEOF, MESSAGE, (message,position,message.position), 60) \
X(a, STATIC, ONEOF, MESSAGE, (message,angles,message.angles), 70) \
X(a, STATIC, ONEOF, MESSAGE, (message,i2c_scan,message.i2c_scan), 80) \
X(a, STATIC, ONEOF, MESSAGE, (message,peripheral_settings,message.peripheral_settings), 90) \
X(a, STATIC, ONEOF, MESSAGE, (message,ota_status,message.ota_status), 100) \
X(a, STATIC, ONEOF, MESSAGE, (message,gait,message.gait), 110) \
X(a, STATIC, ONEOF, MESSAGE, (message,servo_state,message.servo_state), 120) \
X(a, STATIC, ONEOF, MESSAGE, (message,servo_pwm,message.servo_pwm), 130) \
X(a, STATIC, ONEOF, MESSAGE, (message,wifi_settings,message.wifi_settings), 140) \
X(a, STATIC, ONEOF, MESSAGE, (message,sonar,message.sonar), 150) \
X(a, STATIC, ONEOF, MESSAGE, (message,rssi,message.rssi), 160)
#define WebsocketMessage_CALLBACK NULL
#define WebsocketMessage_DEFAULT NULL
#define WebsocketMessage_message_imu_MSGTYPE IMUData
#define WebsocketMessage_message_imu_calibrate_MSGTYPE IMUCalibrateData
#define WebsocketMessage_message_mode_MSGTYPE ModeData
#define WebsocketMessage_message_input_MSGTYPE InputData
#define WebsocketMessage_message_analytics_MSGTYPE AnalyticsData
#define WebsocketMessage_message_position_MSGTYPE PositionData
#define WebsocketMessage_message_angles_MSGTYPE AnglesData
#define WebsocketMessage_message_i2c_scan_MSGTYPE I2CScanData
#define WebsocketMessage_message_peripheral_settings_MSGTYPE PeripheralSettingsData
#define WebsocketMessage_message_ota_status_MSGTYPE OTAStatusData
#define WebsocketMessage_message_gait_MSGTYPE GaitData
#define WebsocketMessage_message_servo_state_MSGTYPE ServoStateData
#define WebsocketMessage_message_servo_pwm_MSGTYPE ServoPWMData
#define WebsocketMessage_message_wifi_settings_MSGTYPE WifiSettingsData
#define WebsocketMessage_message_sonar_MSGTYPE SonarData
#define WebsocketMessage_message_rssi_MSGTYPE RSSIData
extern const pb_msgdesc_t IMUData_msg;
extern const pb_msgdesc_t IMUCalibrateData_msg;
extern const pb_msgdesc_t ModeData_msg;
extern const pb_msgdesc_t InputData_msg;
extern const pb_msgdesc_t AnalyticsData_msg;
extern const pb_msgdesc_t PositionData_msg;
extern const pb_msgdesc_t AnglesData_msg;
extern const pb_msgdesc_t I2CScanData_msg;
extern const pb_msgdesc_t PeripheralSettingsData_msg;
extern const pb_msgdesc_t OTAStatusData_msg;
extern const pb_msgdesc_t GaitData_msg;
extern const pb_msgdesc_t ServoStateData_msg;
extern const pb_msgdesc_t ServoPWMData_msg;
extern const pb_msgdesc_t WifiSettingsData_msg;
extern const pb_msgdesc_t SonarData_msg;
extern const pb_msgdesc_t RSSIData_msg;
extern const pb_msgdesc_t WebsocketMessage_msg;
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define IMUData_fields &IMUData_msg
#define IMUCalibrateData_fields &IMUCalibrateData_msg
#define ModeData_fields &ModeData_msg
#define InputData_fields &InputData_msg
#define AnalyticsData_fields &AnalyticsData_msg
#define PositionData_fields &PositionData_msg
#define AnglesData_fields &AnglesData_msg
#define I2CScanData_fields &I2CScanData_msg
#define PeripheralSettingsData_fields &PeripheralSettingsData_msg
#define OTAStatusData_fields &OTAStatusData_msg
#define GaitData_fields &GaitData_msg
#define ServoStateData_fields &ServoStateData_msg
#define ServoPWMData_fields &ServoPWMData_msg
#define WifiSettingsData_fields &WifiSettingsData_msg
#define SonarData_fields &SonarData_msg
#define RSSIData_fields &RSSIData_msg
#define WebsocketMessage_fields &WebsocketMessage_msg
/* Maximum encoded size of messages (where known) */
/* AnglesData_size depends on runtime parameters */
/* WebsocketMessage_size depends on runtime parameters */
#define AnalyticsData_size 0
#define GaitData_size 0
#define I2CScanData_size 0
#define IMUCalibrateData_size 0
#define IMUData_size 20
#define InputData_size 0
#define ModeData_size 11
#define OTAStatusData_size 0
#define PLATFORM_SHARED_WEBSOCKET_MESSAGE_PB_H_MAX_SIZE IMUData_size
#define PeripheralSettingsData_size 0
#define PositionData_size 0
#define RSSIData_size 11
#define ServoPWMData_size 0
#define ServoStateData_size 0
#define SonarData_size 0
#define WifiSettingsData_size 0
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif