I am making my first foray into Raspbian for Robots and decided to play around with Scratch.
What I like:
- It’s incredibly internationalized. It supports just about every language available except for, (maybe), Martian.
What frustrates me (so far. . . .):
- I cannot find where, or how to import, the actual scratch blocks to control the GoPiGo’s motors, sensors, lights, etc., as there was in DexterOS. All I can find when I launch Scratch is the default Scratch installation. Including the “Meow!” sound.
What I have done so far:
- Launched RFR, (Raspbian For Robots), for the first time using a monitor, mouse and keyboard. (they’re still connected)
- Ran the “DI Software Update” twice. The first time it generated errors due to directories and files being missing. The second time these errors were missing.
- Configured Locale, (US), Keyboard, (US), Time Zone, (Moscow, +3), and Wireless.
- Ran “Firmware Update” once which updated to 1.0.0. (It may have already been at 1.0.0, I’m not sure.)
- Configured the Wireless interface to bind to my WiFi network and set both WiFi and Ethernet to a fixed DHCP lease.
- Changed the hostname to “charlie”.
- Verified that I could connect via noVNC.
- Verified that I could launch and run Scratch.
In the course of all this, the system has been rebooted several times.
Not only can I not create new scratch programs for the robot, I am convinced that something is wrong with the examples. Running the “button” example in scratch does not detect the actual sense of the button - nothing happens when the button is pressed.
Attempting to run the GoPiGo button example returns no button presses and reports the following in the terminal:
Rx:button 1 GoPiGo3 Scratch: Error isinstance() arg 2 must be a class, type, or tuple of classes and types Rx:close eyes Rx:button 1 GoPiGo3 Scratch: Error isinstance() arg 2 must be a class, type, or tuple of classes and types Rx:close eyes Rx:button 1 GoPiGo3 Scratch: Error isinstance() arg 2 must be a class, type, or tuple of classes and types Rx:close eyes
Obviously something is missing. Equally obvious is that whatever is missing, probably an import or include somewhere, is what’s causing both issues.