Use this thread to comment or ask any questions about the LattePanda 3 Delta or the RoadTest in general.
Use this thread to comment or ask any questions about the LattePanda 3 Delta or the RoadTest in general.
srutledge - cstanton Sorry to drive the blog crazy with questions, hopefully saves time for other Road Testers.
A short "blink" program was loaded to the onboard LattePandaLeonardo using Arduino IDE 1.8.16, it worked OK first try.
The Latte Panda 3 online documentation doesnt include further info on Arduino IDE programming or examples for interfacing the Leonardo to Windows10.
Latte Panda V1 online documentation does list programming Arduino, requiring Visual Studio 2017, and a Latte.Panda.Firmata library. However , the documentation lists only typical GPIO operations, I'm thinking thisVersion 1 documentation does not apply to LattePanda3Delta with LattePanda Leonardo.
http://docs.lattepanda.com/content/1st_edition/vs_programming/
Please advise if there is LattePanda 3 Delta Arduino Leonardo Examples and documentation pertaining to W10 interfacing. I could not find any surfing the web.
Sorry to drive the blog crazy with questions
This's a forum, it's totally meant for questions! You can even start a new thread if you feel it should get its own attention.
Please advise if there is LattePanda 3 Delta Arduino Leonardo Examples and documentation pertaining to W10 interfacing. I could not find any surfing the web.
I'm sure we can have a look. From what I recall, in Windows 10 I simply used the Arduino IDE, selected the correct COM port and Board type, and uploaded programs that way. It's not clear by your reply here, but is that how you're also attempting to do it?
I think he's trying to use the GPIO pins on the Arduino from an application running on the host, in which Firmata is acting as a "bridge" protocol, receiving instructions over USB virtual COM to enact changes in GPIO. Not exactly the best way to work from a speed perspective, but may allow you to overcome some limitations of the Leonardo-like AVR 8-bit controller.
There may also be broken out GPIO that are part of the actual host that don't need to be accessed via the Arduino side as well, but perhaps more dangerous to use ...
- Gough
I think he's trying to use the GPIO pins on the Arduino from an application running on the host, in which Firmata is acting as a "bridge" protocol, receiving instructions over USB virtual COM to enact changes in GPIO.
I think more clarification from robogary's required either way, including the intended setup (are we trying to program the Arduino from another computer, or the lattepanda itself, for example?)
Opps , so sorry for creating confusion. The LattePanda3 has a built in Arduino Leonardo " coprocessor."
The Windows install to LattePanda3 included Arduino IDE with the needed board manager setup for this on board Leonardo.
Using the provided Arduino IDE , and example code "blink" , I changed "blink" to drive an LED wired to the LattePanda3 Arduino outputs. It worked OK.
I surfed the LattePanda website for more info on programming the onboard Arduino , only finding info using LattePanda1 Arduino.
So my real question is: where can more info, particularly tested program examples, be found on using the Arduino IDE 1.8.16 , to program on onboardo LattePanda3 Arduino Leonardo ? Specifically, if W10 program status can be read as an input to the on board Arduino Leonardo, or if an Arduino Leonardo output can be mapped to trigger a W10 action.
For example, wire a pushbutton to the Arduino input, the Arduino is programmed to cause a W10 program or batch file to run.
Or
Read the status of a W10 program as an input to the Arduino Leonardo program , whuch is programmed to drive another Arduino output. An example of what I mean, is if LattePanda3 is controlled remotely by VNC , I'd like to have the onboard Arduino Leonardo turn on an output connected to an LED as visible indicator someone connected remotely.
So my real question is: where can more info, particularly tested program examples, be found on using the Arduino IDE 1.8.16 , to program on onboardo LattePanda3 Arduino Leonardo ? Specifically, if W10 program status can be read as an input to the on board Arduino Leonardo, or if an Arduino Leonardo output can be mapped to trigger a W10 action.
For example, wire a pushbutton to the Arduino input, the Arduino is programmed to cause a W10 program or batch file to run.
Or
Read the status of a W10 program as an input to the Arduino Leonardo program , whuch is programmed to drive another Arduino output. An example of what I mean, is if LattePanda3 is controlled remotely by VNC , I'd like to have the onboard Arduino Leonardo turn on an output connected to an LED as visible indicator someone connected remotely.
Ah these kind of things are relevant to the Arduino group.
Basically there are no 'special' interactions between the operating system and the arduino as far as I'm aware, you're communicating with it over a serial port, so any software you're running in Windows will need to talk to the Arduino over the serial port.
Eg. write python code that runs on Windows, and sends information over the serial port, to a program you've compiled and is running in a loop on the Arduino that is expecting the instructions over serial, and then the two will talk to one another.
That's my understanding, I don't believe there are any other special integrations between the Arduino micro/coprocessor and the LattePanda hardware, unlike say, the BeagleBone Black hardware where the PRUSS (microcontroller) shares RAM with the main processor/operating system and can do 'direct memory access' to respond and behave to what's happening in the shared memory.
Because it's an Arduino Leonardo, it should also be able to act as a mouse / keyboard for inputs into Windows:
https://docs.arduino.cc/built-in-examples/usb/KeyboardAndMouseControl
So this documentation becomes relevant and that's a way in which it can 'feedback' from the Arduino into Windows. Else Windows as an operating system won't be expecting any input from the Arduino unless software's running.
Thanks for great insights, I get you now with the shared ram description.
I was pretty sure python could do the job with Raspberry Pi, but thats a different beast.
The LattePanda3 Arduino was stated as a "coprocessor" , my misinterpretation of what a coprocessor is.
The LattePanda3 COM4 must be hardwired to the onboard Arduino serial port, and why COM4 is required to be selected to dowload the onboard Arduino from the IDE. Seems the onboard Arduino is a standalone device, and any interface to a program or OS needs to be engineered, likely thru UART or a less straightforward pathway.
I had thought so, but after doing more web surfing, the Leonardo is a different animal than the other Arduinos......the only Arduino model I dont have on hand and hadnt played with. Arduinos. https://create.arduino.cc/projecthub/products/arduino-leonardo
Road Testing is always a learning adventure.
Chris is correct, its an Arduino project for this piece of the Road Test project, not so much LattePanda3 , so 'm off down the virtual rabbit hole into Leonardo and its applications. Glad I got started on this right away.
"...the Leonardo is a different animal than the other Arduinos......the only Arduino model I dont have on hand and hadnt played with..."
Isn't it pretty similar to the Arduino Micro? which was also based around the ATmega32U4.
"...the Leonardo is a different animal than the other Arduinos......the only Arduino model I dont have on hand and hadnt played with..."
Isn't it pretty similar to the Arduino Micro? which was also based around the ATmega32U4.
Maybe. I did start playing with a micro, but other projects got higher priority.