Skip to content

Commit 888a3c0

Browse files
committed
Fixed options files
1 parent 9340fff commit 888a3c0

File tree

5 files changed

+41
-20
lines changed

5 files changed

+41
-20
lines changed

src/components/i2c/controller.cpp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -813,9 +813,20 @@ bool I2cController::Handle_I2cDeviceOutputWrite(pb_istream_t *stream) {
813813
if (driver->HasMux()) {
814814
ConfigureMuxChannel(mux_channel, driver->HasAltI2CBus());
815815
}
816+
817+
// Determine which driver cb function to use
818+
if (_i2c_model->GetI2cDeviceOutputWriteMsg()->has_led_backpack_write) {
819+
// TODO
820+
WS_DEBUG_PRINTLN("[i2c] LED backpack write!");
821+
} else if (_i2c_model->GetI2cDeviceOutputWriteMsg()->has_char_lcd_write) {
822+
WS_DEBUG_PRINTLN("[i2c] Char LCD write not implemented yet!");
823+
} else {
824+
WS_DEBUG_PRINTLN("[i2c] ERROR: Unable to determine I2C Output Write type!");
825+
return false;
826+
}
816827

817828

818-
return false;
829+
return true;
819830
}
820831

821832
/***********************************************************************/

src/components/i2c/drivers/drvOutputBase.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
#ifndef DRV_OUTPUT_BASE_H
1717
#define DRV_OUTPUT_BASE_H
1818
#include "drvBase.h"
19+
#include <protos/i2c.pb.h>
20+
#include <protos/i2c_output.pb.h>
1921

2022
/*!
2123
@brief Base class for I2C Output Drivers.
@@ -85,6 +87,16 @@ class drvOutputBase : public drvBase {
8587
// noop
8688
}
8789

90+
/*!
91+
@brief High-level fn, executes a call to the appropriate driver function(s)
92+
based on the message data type to write.
93+
@param msg_backpack_write
94+
Pointer to a wippersnapper_i2c_output_LedBackpackWrite message.
95+
*/
96+
void LedBackpackWrite(wippersnapper_i2c_output_LedBackpackWrite *msg_backpack_write) {
97+
98+
}
99+
88100
protected:
89101
// TODO
90102
};

src/protos/i2c.pb.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -335,14 +335,12 @@ extern const pb_msgdesc_t wippersnapper_i2c_I2cDeviceOutputWrite_msg;
335335
#define wippersnapper_i2c_I2cDeviceAddOrReplace_size 141
336336
#define wippersnapper_i2c_I2cDeviceAddedOrReplaced_size 56
337337
#define wippersnapper_i2c_I2cDeviceDescriptor_size 50
338+
#define wippersnapper_i2c_I2cDeviceOutputWrite_size 145
338339
#define wippersnapper_i2c_I2cDeviceRemove_size 52
339340
#define wippersnapper_i2c_I2cDeviceRemoved_size 54
340341
#if defined(wippersnapper_sensor_SensorEvent_size)
341342
#define wippersnapper_i2c_I2cDeviceEvent_size (142 + 15*wippersnapper_sensor_SensorEvent_size)
342343
#endif
343-
#if defined(wippersnapper_i2c_output_LedBackpackWrite_size) && defined(wippersnapper_i2c_output_CharLCDWrite_size)
344-
#define wippersnapper_i2c_I2cDeviceOutputWrite_size (64 + wippersnapper_i2c_output_LedBackpackWrite_size + wippersnapper_i2c_output_CharLCDWrite_size)
345-
#endif
346344

347345
#ifdef __cplusplus
348346
} /* extern "C" */

src/protos/i2c_output.pb.h

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ typedef struct _wippersnapper_i2c_output_I2cOutputAdd {
6060
typedef struct _wippersnapper_i2c_output_LedBackpackWrite {
6161
pb_size_t which_message;
6262
union {
63-
pb_callback_t text; /* * Text to write to the LED backpack. * */
63+
char text[20]; /* * Text to write to the LED backpack. * */
6464
int32_t number_int; /* * Number to write to the LED backpack. * */
6565
float number_float; /* * Float to write to the LED backpack. * */
6666
} message;
@@ -76,7 +76,7 @@ typedef struct _wippersnapper_i2c_output_LedBackpackWrite {
7676
typedef struct _wippersnapper_i2c_output_CharLCDWrite {
7777
pb_size_t which_message;
7878
union {
79-
pb_callback_t text; /* * Text to write to the character LCD. * */
79+
char text[20]; /* * Text to write to the character LCD. * */
8080
int32_t number_int; /* * Number to write to the character LCD. * */
8181
float number_float; /* * Float to write to the character LCD. * */
8282
} message;
@@ -111,13 +111,13 @@ extern "C" {
111111
#define wippersnapper_i2c_output_LedBackpackConfig_init_default {0, _wippersnapper_i2c_output_LedBackpackAlignment_MIN}
112112
#define wippersnapper_i2c_output_CharLCDConfig_init_default {0, 0, 0, ""}
113113
#define wippersnapper_i2c_output_I2cOutputAdd_init_default {0, {wippersnapper_i2c_output_LedBackpackConfig_init_default}}
114-
#define wippersnapper_i2c_output_LedBackpackWrite_init_default {0, {{{NULL}, NULL}}, 0, _wippersnapper_i2c_output_LedBackpackBlinkRate_MIN, 0, 0, 0}
115-
#define wippersnapper_i2c_output_CharLCDWrite_init_default {0, {{{NULL}, NULL}}, 0, "", 0}
114+
#define wippersnapper_i2c_output_LedBackpackWrite_init_default {0, {""}, 0, _wippersnapper_i2c_output_LedBackpackBlinkRate_MIN, 0, 0, 0}
115+
#define wippersnapper_i2c_output_CharLCDWrite_init_default {0, {""}, 0, "", 0}
116116
#define wippersnapper_i2c_output_LedBackpackConfig_init_zero {0, _wippersnapper_i2c_output_LedBackpackAlignment_MIN}
117117
#define wippersnapper_i2c_output_CharLCDConfig_init_zero {0, 0, 0, ""}
118118
#define wippersnapper_i2c_output_I2cOutputAdd_init_zero {0, {wippersnapper_i2c_output_LedBackpackConfig_init_zero}}
119-
#define wippersnapper_i2c_output_LedBackpackWrite_init_zero {0, {{{NULL}, NULL}}, 0, _wippersnapper_i2c_output_LedBackpackBlinkRate_MIN, 0, 0, 0}
120-
#define wippersnapper_i2c_output_CharLCDWrite_init_zero {0, {{{NULL}, NULL}}, 0, "", 0}
119+
#define wippersnapper_i2c_output_LedBackpackWrite_init_zero {0, {""}, 0, _wippersnapper_i2c_output_LedBackpackBlinkRate_MIN, 0, 0, 0}
120+
#define wippersnapper_i2c_output_CharLCDWrite_init_zero {0, {""}, 0, "", 0}
121121

122122
/* Field tags (for use in manual encoding/decoding) */
123123
#define wippersnapper_i2c_output_LedBackpackConfig_brightness_tag 1
@@ -167,25 +167,25 @@ X(a, STATIC, ONEOF, MESSAGE, (config,char_lcd_config,config.char_lcd_confi
167167
#define wippersnapper_i2c_output_I2cOutputAdd_config_char_lcd_config_MSGTYPE wippersnapper_i2c_output_CharLCDConfig
168168

169169
#define wippersnapper_i2c_output_LedBackpackWrite_FIELDLIST(X, a) \
170-
X(a, CALLBACK, ONEOF, STRING, (message,text,message.text), 1) \
170+
X(a, STATIC, ONEOF, STRING, (message,text,message.text), 1) \
171171
X(a, STATIC, ONEOF, INT32, (message,number_int,message.number_int), 2) \
172172
X(a, STATIC, ONEOF, FLOAT, (message,number_float,message.number_float), 3) \
173173
X(a, STATIC, SINGULAR, INT32, brightness, 4) \
174174
X(a, STATIC, SINGULAR, UENUM, blink_rate, 5) \
175175
X(a, STATIC, SINGULAR, BOOL, enable_scroll_marquee, 6) \
176176
X(a, STATIC, SINGULAR, FLOAT, scroll_marquee_speed, 7) \
177177
X(a, STATIC, SINGULAR, BOOL, enable_ampm_dot, 8)
178-
#define wippersnapper_i2c_output_LedBackpackWrite_CALLBACK pb_default_field_callback
178+
#define wippersnapper_i2c_output_LedBackpackWrite_CALLBACK NULL
179179
#define wippersnapper_i2c_output_LedBackpackWrite_DEFAULT NULL
180180

181181
#define wippersnapper_i2c_output_CharLCDWrite_FIELDLIST(X, a) \
182-
X(a, CALLBACK, ONEOF, STRING, (message,text,message.text), 1) \
182+
X(a, STATIC, ONEOF, STRING, (message,text,message.text), 1) \
183183
X(a, STATIC, ONEOF, INT32, (message,number_int,message.number_int), 2) \
184184
X(a, STATIC, ONEOF, FLOAT, (message,number_float,message.number_float), 3) \
185185
X(a, STATIC, SINGULAR, BOOL, enable_backlight, 4) \
186186
X(a, STATIC, SINGULAR, STRING, backlight_color, 5) \
187187
X(a, STATIC, SINGULAR, BOOL, enable_scroll, 6)
188-
#define wippersnapper_i2c_output_CharLCDWrite_CALLBACK pb_default_field_callback
188+
#define wippersnapper_i2c_output_CharLCDWrite_CALLBACK NULL
189189
#define wippersnapper_i2c_output_CharLCDWrite_DEFAULT NULL
190190

191191
extern const pb_msgdesc_t wippersnapper_i2c_output_LedBackpackConfig_msg;
@@ -202,12 +202,12 @@ extern const pb_msgdesc_t wippersnapper_i2c_output_CharLCDWrite_msg;
202202
#define wippersnapper_i2c_output_CharLCDWrite_fields &wippersnapper_i2c_output_CharLCDWrite_msg
203203

204204
/* Maximum encoded size of messages (where known) */
205-
/* wippersnapper_i2c_output_LedBackpackWrite_size depends on runtime parameters */
206-
/* wippersnapper_i2c_output_CharLCDWrite_size depends on runtime parameters */
207-
#define WIPPERSNAPPER_I2C_OUTPUT_I2C_OUTPUT_PB_H_MAX_SIZE wippersnapper_i2c_output_I2cOutputAdd_size
205+
#define WIPPERSNAPPER_I2C_OUTPUT_I2C_OUTPUT_PB_H_MAX_SIZE wippersnapper_i2c_output_CharLCDWrite_size
208206
#define wippersnapper_i2c_output_CharLCDConfig_size 30
207+
#define wippersnapper_i2c_output_CharLCDWrite_size 46
209208
#define wippersnapper_i2c_output_I2cOutputAdd_size 32
210209
#define wippersnapper_i2c_output_LedBackpackConfig_size 13
210+
#define wippersnapper_i2c_output_LedBackpackWrite_size 43
211211

212212
#ifdef __cplusplus
213213
} /* extern "C" */

src/protos/signal.pb.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -256,13 +256,13 @@ extern const pb_msgdesc_t wippersnapper_signal_DeviceToBroker_msg;
256256
#define wippersnapper_signal_DeviceToBroker_fields &wippersnapper_signal_DeviceToBroker_msg
257257

258258
/* Maximum encoded size of messages (where known) */
259-
#if defined(wippersnapper_digitalio_DigitalIOEvent_size) && defined(wippersnapper_digitalio_DigitalIOWrite_size) && defined(wippersnapper_uart_UARTAdd_size) && defined(wippersnapper_uart_UARTRemove_size) && defined(wippersnapper_i2c_I2cDeviceOutputWrite_size)
260-
union wippersnapper_signal_BrokerToDevice_payload_size_union {char f12[(6 + wippersnapper_digitalio_DigitalIOEvent_size)]; char f13[(6 + wippersnapper_digitalio_DigitalIOWrite_size)]; char f80[(7 + wippersnapper_uart_UARTAdd_size)]; char f81[(7 + wippersnapper_uart_UARTRemove_size)]; char f93[(7 + wippersnapper_i2c_I2cDeviceOutputWrite_size)]; char f0[145];};
259+
#if defined(wippersnapper_digitalio_DigitalIOEvent_size) && defined(wippersnapper_digitalio_DigitalIOWrite_size) && defined(wippersnapper_uart_UARTAdd_size) && defined(wippersnapper_uart_UARTRemove_size)
260+
union wippersnapper_signal_BrokerToDevice_payload_size_union {char f12[(6 + wippersnapper_digitalio_DigitalIOEvent_size)]; char f13[(6 + wippersnapper_digitalio_DigitalIOWrite_size)]; char f80[(7 + wippersnapper_uart_UARTAdd_size)]; char f81[(7 + wippersnapper_uart_UARTRemove_size)]; char f0[149];};
261261
#endif
262262
#if defined(wippersnapper_digitalio_DigitalIOEvent_size) && defined(wippersnapper_analogio_AnalogIOEvent_size) && defined(wippersnapper_ds18x20_Ds18x20Event_size) && defined(wippersnapper_uart_UARTAdded_size) && defined(wippersnapper_uart_UARTEvent_size) && defined(wippersnapper_i2c_I2cDeviceEvent_size)
263263
union wippersnapper_signal_DeviceToBroker_payload_size_union {char f10[(6 + wippersnapper_digitalio_DigitalIOEvent_size)]; char f20[(7 + wippersnapper_analogio_AnalogIOEvent_size)]; char f80[(7 + wippersnapper_ds18x20_Ds18x20Event_size)]; char f90[(7 + wippersnapper_uart_UARTAdded_size)]; char f100[(7 + wippersnapper_uart_UARTEvent_size)]; char f113[(7 + wippersnapper_i2c_I2cDeviceEvent_size)]; char f0[6246];};
264264
#endif
265-
#if defined(wippersnapper_digitalio_DigitalIOEvent_size) && defined(wippersnapper_digitalio_DigitalIOWrite_size) && defined(wippersnapper_uart_UARTAdd_size) && defined(wippersnapper_uart_UARTRemove_size) && defined(wippersnapper_i2c_I2cDeviceOutputWrite_size)
265+
#if defined(wippersnapper_digitalio_DigitalIOEvent_size) && defined(wippersnapper_digitalio_DigitalIOWrite_size) && defined(wippersnapper_uart_UARTAdd_size) && defined(wippersnapper_uart_UARTRemove_size)
266266
#define WIPPERSNAPPER_SIGNAL_SIGNAL_PB_H_MAX_SIZE wippersnapper_signal_BrokerToDevice_size
267267
#define wippersnapper_signal_BrokerToDevice_size (0 + sizeof(union wippersnapper_signal_BrokerToDevice_payload_size_union))
268268
#endif

0 commit comments

Comments
 (0)