Introducing myself / a parser-generator I've written for MSP
Posted: Sun Jul 12, 2015 7:45 am
Hi everyone,
My name's Simon, and I teach computer science / robotics at a small liberal arts college. One of the many cool things about this job is being able to try out new technology and develop new software for it. After building and flying quadrotors with all the popular open-source flight controllers (Pixhawk, OpenPilot, KK2) I fell in love with the Naze32 platform, because of the simple, elegant board layout (big pins = big win for a butterfingers like me!) and the incredible ease-of-use of the Baseflight configurator. Being able to see the raw receiver inputs so clearly was a big eye-opener for me, and allowed me to write Arduino code to send modulated PWM signals into the Naze. This led me to wonder whether I could also communicate with the Naze over its UART and/or USB port, which led me to the msp.js code in Baseflight. So now I'm happily flying our little 250mm quadrotor with the Naze, developing code for the Naze, and hope eventually to be able to contribute to the firmware in Baseflight and/or Cleanflight.
Meanwhile, if you're into this kind of thing, my students and I have written a little parser-generator that takes JSON specifications of MSP messages and auto-generates code for parsing and serializing them in Python, Java, and C++. I've tested it with Attitude message (#108) and am hoping that MSP has messages for input demands (sending pitch/roll/yaw/throttle demands over the UART from a Teensy board or ODROID). If anyone's done that, or if you have suggestions for MSPPG (maybe outputting C# or JavaScript or something), I'd love to hear from you. My eventual goal is to have a swarm of Naze-equipped micro-copters talking to each other with MSP over an XBee network. Meanwhile, it's great to see that there's an active Multiwii community, and I hope to be able to contribute more.
My name's Simon, and I teach computer science / robotics at a small liberal arts college. One of the many cool things about this job is being able to try out new technology and develop new software for it. After building and flying quadrotors with all the popular open-source flight controllers (Pixhawk, OpenPilot, KK2) I fell in love with the Naze32 platform, because of the simple, elegant board layout (big pins = big win for a butterfingers like me!) and the incredible ease-of-use of the Baseflight configurator. Being able to see the raw receiver inputs so clearly was a big eye-opener for me, and allowed me to write Arduino code to send modulated PWM signals into the Naze. This led me to wonder whether I could also communicate with the Naze over its UART and/or USB port, which led me to the msp.js code in Baseflight. So now I'm happily flying our little 250mm quadrotor with the Naze, developing code for the Naze, and hope eventually to be able to contribute to the firmware in Baseflight and/or Cleanflight.
Meanwhile, if you're into this kind of thing, my students and I have written a little parser-generator that takes JSON specifications of MSP messages and auto-generates code for parsing and serializing them in Python, Java, and C++. I've tested it with Attitude message (#108) and am hoping that MSP has messages for input demands (sending pitch/roll/yaw/throttle demands over the UART from a Teensy board or ODROID). If anyone's done that, or if you have suggestions for MSPPG (maybe outputting C# or JavaScript or something), I'd love to hear from you. My eventual goal is to have a swarm of Naze-equipped micro-copters talking to each other with MSP over an XBee network. Meanwhile, it's great to see that there's an active Multiwii community, and I hope to be able to contribute more.