Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RCIO (Navio 2 PWM, ADC, SBUS & PPM Coprocessor) Hardware Support #13

Open
CodeChief opened this issue Aug 24, 2016 · 3 comments
Open

RCIO (Navio 2 PWM, ADC, SBUS & PPM Coprocessor) Hardware Support #13

CodeChief opened this issue Aug 24, 2016 · 3 comments
Assignees
Milestone

Comments

@CodeChief
Copy link
Collaborator

CodeChief commented Aug 24, 2016

As this chip is connected to the second SPI bus, work will first have to be done to enable this access because the current MS IoT SDK only provides access to the "default" SPI0.

@CodeChief CodeChief changed the title RC Input (Navio2 PWM Coprocessor) Hardware Support RC Input (Navio2 PPM Coprocessor) Hardware Support Aug 24, 2016
@CodeChief CodeChief self-assigned this Aug 25, 2016
@CodeChief CodeChief added this to the Core SDK milestone Aug 25, 2016
@CodeChief CodeChief changed the title RC Input (Navio2 PPM Coprocessor) Hardware Support RCIO (Navio 2 PWM, ADC, SBUS & PPM Coprocessor) Hardware Support Jan 9, 2017
@CodeChief
Copy link
Collaborator Author

Tests prove access to the second SPI bus is indeed possible but strangely enough not in C# XAML applications compared to C# background applications (or broken by the Visual Studio template). Considering the move to C++/CX was imminent anyway, this just brings that forwards.

A new "RCIO Terminal" tool has been added to the source. This will support initial implementation of the device and its protocol and also serve as a very useful diagnostics tool. Perhaps this should later be integrated into the main test tool app.

@CodeChief
Copy link
Collaborator Author

Access to the RCIO chip was successful. The new "Emlid.WindowsIot.HardwarePlus" project is an IoT C++ Windows Runtime Component, the idea being to migrate the "Emlid.WindowsIot.Hardware" C# code to that then rename back. The GPIO, I2C and SPI extension classes were migrated to C++ code and now we can open the second SPI bus.

The RCIO chip is in fact emulating a PX4IO coprocessor in the Pixhawk/PX4. So the whole PX4IO board and serial/packet protocol was implemented, Pages of data registers are read or written to communicate with the chip, It appears to work hence the recent check-in as a checkpoint.

Next steps to finish-off the integration of RCIO to provide the actual sensor data/components to the logical "board" class and update/finish the test tools.

@CodeChief
Copy link
Collaborator Author

Version 1.0.10 has been released with the C++ code to successfully access the second SPI bus and the complete RCIO (PX4IO protocol) component which should allow the remaining components for Navio 2 to be added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant