dwalton76 / spikedev

A micropython library for LEGO SPIKE
MIT License
21 stars 11 forks source link

Lacks interfaces for sensors #1

Open johnmcdowell opened 4 years ago

johnmcdowell commented 4 years ago

I don’t see that sensors are exposed through spikedev?

My son and I just got a Spike Prime are trying to code against it in Python. I was surprised that we can’t seemed to find any documentation whatsoever for the native hub package. This project looks promising.

Is it planned to expose an interface for sensors, or is it required to learn the undocumented hub package by inspecting the class members and experimenting?

dwalton76 commented 4 years ago

Hi @johnmcdowell, I got started on adding Sensor support but haven't finished it yet. What I have done is in the touchsensor branch though if you want to try it out: https://github.com/dwalton76/spikedev/tree/touchsensor

My original gameplan was to get all of the important parts of ev3dev-lang-python ported to here and then announce this project. I am hitting a nasty bug in the spike firmware though that is holding things up though. Long term though I am excited about this project, it will give the community a way to add functionality to spike.

I can create some issues for individual sensors if you and your son are interested in working on spikedev?

Thanks Daniel

johnmcdowell commented 4 years ago

I'm very excited for this project long term. It's without a doubt one of the most engaging ways to teach kids about coding, which is so important in the world they'll grow up in.

Thanks so much for taking the lead on this, and for offering to get something partially working. Right now, we're able to be productive enough with the scratch-based canvas interface, but we continue to see opportunities where (micro)python will be a better fit, and are excited to use it as a next step to transition to most complete software engineering tools.

We'll certainly continue to follow this project. I hope that the LEGO team does a good job supporting the product and specifically the firmware issue you've hit so far. There such potential here!

Thanks again, John

dwalton76 commented 4 years ago

@johnmcdowell I've added support for touch, color and distance sensors

Salva-OA commented 2 years ago

Thanks for your contribution.

Could you add in documentation, a lower level hardware info about the pin connectivity?, that is for each 6 pin ports, what is the relation to pwm, uart, power, analogue input readings ...etc.

The purpose of this could be the creation of a python file, where we can define a wedo sensor, and rcx sensor or an nxt motor (with the proper cable adaptor). If we would like to add an analogue hitecnic /vernier temperature sensor for instance we could copy the file, with the class that models this device, its methods and properties and rebuild some of the ev3 experiment exercises with these new hubs. The idea it not to be limited to the powerup connector but have a more open hw/sw filosofy. For this connector maybe you could copy the scripts written by pybricks for boost sensor, theccnic powerup motors, spike essential motors and 3x3 led matrix.

It would be also interesting adding other elements of the arduino world, for instance an i2c lcd or oled display to present variable values of the code, or simple grahs ...these stored as datalogers files could be retreated for later analisys.

I2c or uart implementation as comunication bus could be used to cascade hubs or just link it to an arduino/esp32 board with cabled rj45 or WiFi to expand the models.