This is a little similar implementation of genpy
for uPy. In order to use rosserial with it, having messages classes. For that and automation purposes, this package has been done so that this classes can be done easily. This has been done to be used with uPy rosserial.
- uPy files gen with publish availability
- uPy files gen with subscribe availability
- Services
In order to use this package the folder ugenpy
from src
must be copied to the flash memory. I strongly recommend using rshell for this task.
There is also a folder called std_msgs
which has all default *.msg
files, this folder can also be copied or any other folder with the wanted message types. For memory purposes not all the msg
files in that folder must be copied, only the ones that are going to be used.
You can also install ugenpy
with upip but have in mind the .msg
files must be copied, located in the corresponding dir:
import upip
import network
from time import sleep
wlan=network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect('<ssid>', '<password>')
sleep(5)
upip.install('micropython-genpy')
Note: To use upip you must be connected to WiFi and the files with std_msgs dir must be included manually.
Suppose there is already the dir std_msgs/ColorRGB.msg
and we want to create the uPy file for it, then a script like below can be run:
from ugenpy.message import MessageGenerator
msg=MessageGenerator('std_msgs/ColorRGBA.msg')
msg.create_message()
You could verify it has been created with the following:
import os
os.listdir('std_msgs')
Class responsible of writing the *.py
script and message class from *.msg
.
addr
: address where the.msg
file is located inside the microcontroller.
Creates the message from the address already defined in constructor.