I’ve been testing the new GoPiGo3 install options over PiOS Trixie Desktop and Lite, and found Option A fully working.
Option B on PiOS Trixie Lite still has a minor issue configuring I2C, but the fix will be very simple for CleoQC to implement.
One of the changes in the new GoPiGo3 install is moving the list_of_serial_numbers (that have 16 tick motors) and the gpg3_config.json file that maintains the robot specifics, to the user’s $HOME instead of under /home/pi/GoPiGo3.
For Python users this change is transparent, but new users using Option B and wishing to program the GoPiGo3 in C++, the GoPiGo3 C++ API is still looking under /home/pi/GoPiGo3. Additionally, the C++ compiler is now version 14.2 which is stricter about some language constructs.
I am working to bring the C++ GoPiGo3 API and Examples to work with the new config files location and the new C++ compiler.
myrobot.cpp linked with libgopigo3_cpp.a:
(.venv) tovli@mrgpg3:~/MRGPG3/systests/cpp/gopigo3proj $ build/bin/myrobot
**** GoPiGo3 Robot Constants:
- WHEEL_DIAMETER: 66.500 mm
- WHEEL_BASE_WIDTH: 117.000 mm
- ENCODER_TICKS_PER_ROTATION: 6 <<---WRONG because of new install config files location
- MOTOR_GEAR_RATIO: 120
- SPEED: 150
****
fwd w r reset encoders
left a spin s d right
bkwd x
spacebar STOP
****
encoders: (0, 0) Cmd: (q to exit): w
LEFT : motor_state: 0, pwr: -128, pos: 0, dps: 0
RIGHT: motor_state: 0, pwr: -128, pos: 0, dps: 0
encoders: (0, 0) Cmd: (q to exit): stopping..
LEFT : motor_state: 0, pwr: 2, pos: 524, dps: 0
RIGHT: motor_state: 0, pwr: 12, pos: 521, dps: 0
encoders: (524, 521) Cmd: (q to exit): q
LEFT : motor_state: 0, pwr: 2, pos: 524, dps: 0
RIGHT: motor_state: 0, pwr: 12, pos: 521, dps: 0