aboutsummaryrefslogtreecommitdiff
path: root/elegoo
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-12-11 22:18:31 +0100
committerDimitri Sokolyuk <demon@dim13.org>2017-12-11 22:18:31 +0100
commit4ae462c9e0469dc4572a54e8271ae24404a69db7 (patch)
treeb9fc4be95ae43e9565759c2878525283d2b9aa15 /elegoo
parentb55a08cd6aba0364d8ef4c450f8aeb057bb936ee (diff)
...
Diffstat (limited to 'elegoo')
-rw-r--r--elegoo/elegoo.ino13
-rw-r--r--elegoo/elegoo.pb.c36
-rw-r--r--elegoo/elegoo.pb.h76
3 files changed, 78 insertions, 47 deletions
diff --git a/elegoo/elegoo.ino b/elegoo/elegoo.ino
index b3d1ced..0911979 100644
--- a/elegoo/elegoo.ino
+++ b/elegoo/elegoo.ino
@@ -76,23 +76,24 @@ void onPacket(const uint8_t* buf, size_t size) {
void events() {
uint8_t buf[64];
- elegoo_Events evt = elegoo_Events_init_zero;
+ elegoo_Event evt = elegoo_Event_init_zero;
+
+ evt.Head.Distance = readDistance();
+ evt.Head.Direction = servo.read();
- evt.Distance = readDistance();
evt.Sensor.R = digitalRead(SR);
evt.Sensor.C = digitalRead(SC);
evt.Sensor.L = digitalRead(SL);
if (irrecv.decode(&ir)) {
- evt.KeyPress = ir.value;
+ evt.Remote.Key = ir.value;
irrecv.resume();
}
- evt.Direction = servo.read();
- evt.Time = millis();
+ evt.TimeStamp = millis();
pb_ostream_t ostream = pb_ostream_from_buffer(buf, sizeof(buf));
- pb_encode_delimited(&ostream, elegoo_Events_fields, &evt);
+ pb_encode_delimited(&ostream, elegoo_Event_fields, &evt);
serial.send(buf, ostream.bytes_written);
}
diff --git a/elegoo/elegoo.pb.c b/elegoo/elegoo.pb.c
index fad83e8..93fd007 100644
--- a/elegoo/elegoo.pb.c
+++ b/elegoo/elegoo.pb.c
@@ -1,5 +1,5 @@
/* Automatically generated nanopb constant definitions */
-/* Generated by nanopb-0.3.9 at Mon Dec 11 21:46:37 2017. */
+/* Generated by nanopb-0.3.9 at Mon Dec 11 22:16:39 2017. */
#include "elegoo.pb.h"
@@ -24,19 +24,29 @@ const pb_field_t elegoo_Command_fields[5] = {
PB_LAST_FIELD
};
-const pb_field_t elegoo_Sensor_fields[4] = {
- PB_FIELD( 1, BOOL , SINGULAR, STATIC , FIRST, elegoo_Sensor, R, R, 0),
- PB_FIELD( 2, BOOL , SINGULAR, STATIC , OTHER, elegoo_Sensor, C, R, 0),
- PB_FIELD( 3, BOOL , SINGULAR, STATIC , OTHER, elegoo_Sensor, L, C, 0),
+const pb_field_t elegoo_UltraSonic_fields[3] = {
+ PB_FIELD( 1, UINT32 , SINGULAR, STATIC , FIRST, elegoo_UltraSonic, Distance, Distance, 0),
+ PB_FIELD( 2, SINT32 , SINGULAR, STATIC , OTHER, elegoo_UltraSonic, Direction, Distance, 0),
PB_LAST_FIELD
};
-const pb_field_t elegoo_Events_fields[6] = {
- PB_FIELD( 1, UINT32 , SINGULAR, STATIC , FIRST, elegoo_Events, Distance, Distance, 0),
- PB_FIELD( 2, SINT32 , SINGULAR, STATIC , OTHER, elegoo_Events, Direction, Distance, 0),
- PB_FIELD( 3, MESSAGE , SINGULAR, STATIC , OTHER, elegoo_Events, Sensor, Direction, &elegoo_Sensor_fields),
- PB_FIELD( 6, UINT32 , SINGULAR, STATIC , OTHER, elegoo_Events, KeyPress, Sensor, 0),
- PB_FIELD( 7, UINT32 , SINGULAR, STATIC , OTHER, elegoo_Events, Time, KeyPress, 0),
+const pb_field_t elegoo_InfraRed_fields[4] = {
+ PB_FIELD( 1, BOOL , SINGULAR, STATIC , FIRST, elegoo_InfraRed, R, R, 0),
+ PB_FIELD( 2, BOOL , SINGULAR, STATIC , OTHER, elegoo_InfraRed, C, R, 0),
+ PB_FIELD( 3, BOOL , SINGULAR, STATIC , OTHER, elegoo_InfraRed, L, C, 0),
+ PB_LAST_FIELD
+};
+
+const pb_field_t elegoo_RemoteControl_fields[2] = {
+ PB_FIELD( 1, UINT32 , SINGULAR, STATIC , FIRST, elegoo_RemoteControl, Key, Key, 0),
+ PB_LAST_FIELD
+};
+
+const pb_field_t elegoo_Event_fields[5] = {
+ PB_FIELD( 1, MESSAGE , SINGULAR, STATIC , FIRST, elegoo_Event, Head, Head, &elegoo_UltraSonic_fields),
+ PB_FIELD( 2, MESSAGE , SINGULAR, STATIC , OTHER, elegoo_Event, Sensor, Head, &elegoo_InfraRed_fields),
+ PB_FIELD( 3, MESSAGE , SINGULAR, STATIC , OTHER, elegoo_Event, Remote, Sensor, &elegoo_RemoteControl_fields),
+ PB_FIELD( 4, UINT32 , SINGULAR, STATIC , OTHER, elegoo_Event, TimeStamp, Remote, 0),
PB_LAST_FIELD
};
@@ -50,7 +60,7 @@ const pb_field_t elegoo_Events_fields[6] = {
* numbers or field sizes that are larger than what can fit in 8 or 16 bit
* field descriptors.
*/
-PB_STATIC_ASSERT((pb_membersize(elegoo_Command, Speed) < 65536 && pb_membersize(elegoo_Events, Sensor) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_elegoo_Speed_elegoo_Command_elegoo_Sensor_elegoo_Events)
+PB_STATIC_ASSERT((pb_membersize(elegoo_Command, Speed) < 65536 && pb_membersize(elegoo_Event, Head) < 65536 && pb_membersize(elegoo_Event, Sensor) < 65536 && pb_membersize(elegoo_Event, Remote) < 65536), YOU_MUST_DEFINE_PB_FIELD_32BIT_FOR_MESSAGES_elegoo_Speed_elegoo_Command_elegoo_UltraSonic_elegoo_InfraRed_elegoo_RemoteControl_elegoo_Event)
#endif
#if !defined(PB_FIELD_16BIT) && !defined(PB_FIELD_32BIT)
@@ -61,7 +71,7 @@ PB_STATIC_ASSERT((pb_membersize(elegoo_Command, Speed) < 65536 && pb_membersize(
* numbers or field sizes that are larger than what can fit in the default
* 8 bit descriptors.
*/
-PB_STATIC_ASSERT((pb_membersize(elegoo_Command, Speed) < 256 && pb_membersize(elegoo_Events, Sensor) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_elegoo_Speed_elegoo_Command_elegoo_Sensor_elegoo_Events)
+PB_STATIC_ASSERT((pb_membersize(elegoo_Command, Speed) < 256 && pb_membersize(elegoo_Event, Head) < 256 && pb_membersize(elegoo_Event, Sensor) < 256 && pb_membersize(elegoo_Event, Remote) < 256), YOU_MUST_DEFINE_PB_FIELD_16BIT_FOR_MESSAGES_elegoo_Speed_elegoo_Command_elegoo_UltraSonic_elegoo_InfraRed_elegoo_RemoteControl_elegoo_Event)
#endif
diff --git a/elegoo/elegoo.pb.h b/elegoo/elegoo.pb.h
index 3d90f3f..9160145 100644
--- a/elegoo/elegoo.pb.h
+++ b/elegoo/elegoo.pb.h
@@ -1,5 +1,5 @@
/* Automatically generated nanopb header */
-/* Generated by nanopb-0.3.9 at Mon Dec 11 21:46:37 2017. */
+/* Generated by nanopb-0.3.9 at Mon Dec 11 22:16:39 2017. */
#ifndef PB_ELEGOO_ELEGOO_PB_H_INCLUDED
#define PB_ELEGOO_ELEGOO_PB_H_INCLUDED
@@ -15,12 +15,17 @@ extern "C" {
#endif
/* Struct definitions */
-typedef struct _elegoo_Sensor {
+typedef struct _elegoo_InfraRed {
bool R;
bool C;
bool L;
-/* @@protoc_insertion_point(struct:elegoo_Sensor) */
-} elegoo_Sensor;
+/* @@protoc_insertion_point(struct:elegoo_InfraRed) */
+} elegoo_InfraRed;
+
+typedef struct _elegoo_RemoteControl {
+ uint32_t Key;
+/* @@protoc_insertion_point(struct:elegoo_RemoteControl) */
+} elegoo_RemoteControl;
typedef struct _elegoo_Speed {
int32_t L;
@@ -28,6 +33,12 @@ typedef struct _elegoo_Speed {
/* @@protoc_insertion_point(struct:elegoo_Speed) */
} elegoo_Speed;
+typedef struct _elegoo_UltraSonic {
+ uint32_t Distance;
+ int32_t Direction;
+/* @@protoc_insertion_point(struct:elegoo_UltraSonic) */
+} elegoo_UltraSonic;
+
typedef struct _elegoo_Command {
elegoo_Speed Speed;
bool Stop;
@@ -36,54 +47,63 @@ typedef struct _elegoo_Command {
/* @@protoc_insertion_point(struct:elegoo_Command) */
} elegoo_Command;
-typedef struct _elegoo_Events {
- uint32_t Distance;
- int32_t Direction;
- elegoo_Sensor Sensor;
- uint32_t KeyPress;
- uint32_t Time;
-/* @@protoc_insertion_point(struct:elegoo_Events) */
-} elegoo_Events;
+typedef struct _elegoo_Event {
+ elegoo_UltraSonic Head;
+ elegoo_InfraRed Sensor;
+ elegoo_RemoteControl Remote;
+ uint32_t TimeStamp;
+/* @@protoc_insertion_point(struct:elegoo_Event) */
+} elegoo_Event;
/* Default values for struct fields */
/* Initializer values for message structs */
#define elegoo_Speed_init_default {0, 0}
#define elegoo_Command_init_default {elegoo_Speed_init_default, 0, 0, 0}
-#define elegoo_Sensor_init_default {0, 0, 0}
-#define elegoo_Events_init_default {0, 0, elegoo_Sensor_init_default, 0, 0}
+#define elegoo_UltraSonic_init_default {0, 0}
+#define elegoo_InfraRed_init_default {0, 0, 0}
+#define elegoo_RemoteControl_init_default {0}
+#define elegoo_Event_init_default {elegoo_UltraSonic_init_default, elegoo_InfraRed_init_default, elegoo_RemoteControl_init_default, 0}
#define elegoo_Speed_init_zero {0, 0}
#define elegoo_Command_init_zero {elegoo_Speed_init_zero, 0, 0, 0}
-#define elegoo_Sensor_init_zero {0, 0, 0}
-#define elegoo_Events_init_zero {0, 0, elegoo_Sensor_init_zero, 0, 0}
+#define elegoo_UltraSonic_init_zero {0, 0}
+#define elegoo_InfraRed_init_zero {0, 0, 0}
+#define elegoo_RemoteControl_init_zero {0}
+#define elegoo_Event_init_zero {elegoo_UltraSonic_init_zero, elegoo_InfraRed_init_zero, elegoo_RemoteControl_init_zero, 0}
/* Field tags (for use in manual encoding/decoding) */
-#define elegoo_Sensor_R_tag 1
-#define elegoo_Sensor_C_tag 2
-#define elegoo_Sensor_L_tag 3
+#define elegoo_InfraRed_R_tag 1
+#define elegoo_InfraRed_C_tag 2
+#define elegoo_InfraRed_L_tag 3
+#define elegoo_RemoteControl_Key_tag 1
#define elegoo_Speed_L_tag 1
#define elegoo_Speed_R_tag 2
+#define elegoo_UltraSonic_Distance_tag 1
+#define elegoo_UltraSonic_Direction_tag 2
#define elegoo_Command_Speed_tag 1
#define elegoo_Command_Stop_tag 3
#define elegoo_Command_Direction_tag 4
#define elegoo_Command_StopAfter_tag 5
-#define elegoo_Events_Distance_tag 1
-#define elegoo_Events_Direction_tag 2
-#define elegoo_Events_Sensor_tag 3
-#define elegoo_Events_KeyPress_tag 6
-#define elegoo_Events_Time_tag 7
+#define elegoo_Event_Head_tag 1
+#define elegoo_Event_Sensor_tag 2
+#define elegoo_Event_Remote_tag 3
+#define elegoo_Event_TimeStamp_tag 4
/* Struct field encoding specification for nanopb */
extern const pb_field_t elegoo_Speed_fields[3];
extern const pb_field_t elegoo_Command_fields[5];
-extern const pb_field_t elegoo_Sensor_fields[4];
-extern const pb_field_t elegoo_Events_fields[6];
+extern const pb_field_t elegoo_UltraSonic_fields[3];
+extern const pb_field_t elegoo_InfraRed_fields[4];
+extern const pb_field_t elegoo_RemoteControl_fields[2];
+extern const pb_field_t elegoo_Event_fields[5];
/* Maximum encoded size of messages (where known) */
#define elegoo_Speed_size 12
#define elegoo_Command_size 28
-#define elegoo_Sensor_size 6
-#define elegoo_Events_size 32
+#define elegoo_UltraSonic_size 12
+#define elegoo_InfraRed_size 6
+#define elegoo_RemoteControl_size 6
+#define elegoo_Event_size 36
/* Message IDs (where set with "msgid" option) */
#ifdef PB_MSGID