@@ -101,9 +101,9 @@ class Module : public Printable {
101101 char * name;
102102};
103103
104- class Buttons : public Module {
104+ class ModulinoButtons : public Module {
105105public:
106- Buttons (uint8_t address = 0xFF )
106+ ModulinoButtons (uint8_t address = 0xFF )
107107 : Module(address, " BUTTONS" ) {}
108108 bool get (bool & a, bool & b, bool & c) {
109109 uint8_t buf[3 ];
@@ -138,9 +138,9 @@ class Buttons : public Module {
138138 std::vector<uint8_t > match = { 0x7C }; // same as fw main.c
139139};
140140
141- class Tone : public Module {
141+ class ModulinoBuzzer : public Module {
142142public:
143- Tone (uint8_t address = 0xFF )
143+ ModulinoBuzzer (uint8_t address = 0xFF )
144144 : Module(address, " BUZZER" ) {}
145145 void tone (size_t freq, size_t len_ms) {
146146 uint8_t buf[8 ];
@@ -175,9 +175,9 @@ class ModulinoColor {
175175 uint8_t r, g, b;
176176};
177177
178- class LEDS : public Module {
178+ class ModulinoPixels : public Module {
179179public:
180- LEDS (uint8_t address = 0xFF )
180+ ModulinoPixels (uint8_t address = 0xFF )
181181 : Module(address, " LEDS" ) {
182182 memset ((uint8_t *)data, 0xE0 , NUMLEDS * 4 );
183183 }
@@ -214,9 +214,9 @@ class LEDS : public Module {
214214};
215215
216216
217- class Encoder : public Module {
217+ class ModulinoKnob : public Module {
218218public:
219- Encoder (uint8_t address = 0xFF )
219+ ModulinoKnob (uint8_t address = 0xFF )
220220 : Module(address, " ENCODER" ) {}
221221 int16_t get () {
222222 uint8_t buf[3 ];
@@ -321,22 +321,46 @@ extern ModulinoColor BLUE;
321321extern ModulinoColor GREEN;
322322extern ModulinoColor VIOLET;
323323extern ModulinoColor WHITE;
324-
325324extern ModulinoClass Modulino;
326325
327326/*
328- extern Buttons buttons;
329- extern Tone buzzer;
330- extern LEDS leds;
331- extern Encoder encoder;
327+ TODO: These classes need to be ported to Modulino ecosystem, as per the tof_sensor example
332328*/
333- extern BoschSensorClass imu;
334- extern VL53L1X tof_sensor;
335329extern APDS9999 color; // TODO: need to change to APDS9999 https://docs.broadcom.com/doc/APDS-9999-DS
336330extern LPS22HBClass barometer;
337- extern HS300xClass humidity;
338331
339- class Distance : public Module {
332+ class ModulinoMovement : public Module {
333+ public:
334+ bool begin () {
335+ imu.begin ();
336+ imu.setContinuousMode ();
337+ }
338+ int update () {
339+ return imu.readAcceleration (x, y, z);
340+ }
341+ float getX () {
342+ return x;
343+ }
344+ float getY () {
345+ return y;
346+ }
347+ float getZ () {
348+ return z;
349+ }
350+ private:
351+ BoschSensorClass imu = BoschSensorClass(*((TwoWire*)getWire()));
352+ float x,y,z;
353+ };
354+
355+ class ModulinoAir : public Module {
356+
357+ };
358+
359+ class ModulinoLight : public Module {
360+
361+ };
362+
363+ class ModulinoDistance : public Module {
340364public:
341365 bool begin () {
342366 tof_sensor.setBus ((TwoWire*)getWire ());
@@ -348,4 +372,6 @@ class Distance : public Module {
348372 float get () {
349373 return tof_sensor.read ();
350374 }
375+ private:
376+ VL53L1X tof_sensor;
351377};
0 commit comments