@@ -109,6 +109,21 @@ typedef struct DashMessage {
109
109
for (unsigned int i = 0 ; i < WIRE_PROTOCOL_MESSAGE_LENGTH ; ++ i ) setByte (i , 0 );
110
110
}
111
111
112
+ // read payload from digital input pins
113
+ void setFromPins (int (* myDigitalRead )(pin_size_t )) {
114
+ setBit (MasterSignal ::Values ::boostWarning , myDigitalRead (MasterPin ::Values ::boostWarning ));
115
+ setBit (MasterSignal ::Values ::boostCritical , myDigitalRead (MasterPin ::Values ::boostCritical ));
116
+ setBit (MasterSignal ::Values ::acOn , myDigitalRead (MasterPin ::Values ::acOn ));
117
+ setBit (MasterSignal ::Values ::heatedRearWindowOn , myDigitalRead (MasterPin ::Values ::heatedRearWindowOn ));
118
+ setBit (MasterSignal ::Values ::hazardOff , myDigitalRead (MasterPin ::Values ::hazardOff ));
119
+ setBit (MasterSignal ::Values ::rearFoggerOn , myDigitalRead (MasterPin ::Values ::rearFoggerOn ));
120
+ setBit (MasterSignal ::Values ::scrollCAN , myDigitalRead (MasterPin ::Values ::scrollCAN ));
121
+ setBit (MasterSignal ::Values ::scrollPresetColours , myDigitalRead (MasterPin ::Values ::scrollPresetColours ));
122
+ setBit (MasterSignal ::Values ::scrollRainbowEffects , myDigitalRead (MasterPin ::Values ::scrollRainbowEffects ));
123
+ setBit (MasterSignal ::Values ::scrollBrightness , myDigitalRead (MasterPin ::Values ::scrollBrightness ));
124
+ }
125
+
126
+ #ifdef PinStatus
112
127
// read payload from digital input pins
113
128
void setFromPins (PinStatus (* myDigitalRead )(pin_size_t )) {
114
129
setBit (MasterSignal ::Values ::boostWarning , myDigitalRead (MasterPin ::Values ::boostWarning ));
@@ -122,6 +137,7 @@ typedef struct DashMessage {
122
137
setBit (MasterSignal ::Values ::scrollRainbowEffects , myDigitalRead (MasterPin ::Values ::scrollRainbowEffects ));
123
138
setBit (MasterSignal ::Values ::scrollBrightness , myDigitalRead (MasterPin ::Values ::scrollBrightness ));
124
139
}
140
+ #endif
125
141
126
142
// read input from I2C
127
143
void setFromWire (TwoWire & wire ) {
@@ -158,11 +174,19 @@ typedef struct DashMessage {
158
174
}
159
175
}
160
176
177
+ // construct from arduino inputs
178
+ DashMessage (int (* myDigitalRead )(pin_size_t )) {
179
+ initFrames ();
180
+ setFromPins (myDigitalRead );
181
+ }
182
+
183
+ #ifdef PinStatus
161
184
// construct from arduino inputs
162
185
DashMessage (PinStatus (* myDigitalRead )(pin_size_t )) {
163
186
initFrames ();
164
187
setFromPins (myDigitalRead );
165
188
}
189
+ #endif
166
190
167
191
// construct from the wire
168
192
DashMessage (TwoWire wire ) {
0 commit comments