Right now it's a work in progress, as I'm just starting to fiddle with the thing. Like most postings here, this is just a journal of my continuing ignorance, so feel free to leave questions and comments below.
When I'm finished with this, I'll probably split this into two posts: one for building the software, getting the drivers installed, and getting the GUI running, and one on actually using the GUI to tune the gimbal.
Configuring on Windows
There's a bunch of hassles regarding getting the proper USB driver. I'll try this on Mac first and then come back to Windows later.
Configuring on Mac
Things turned out to be pretty simple on a Mac. The driver was already installed, and the usbserial device was created when I plugged the BLG in using the USB connector.
# before plugging in the BLG
$ ls /dev/*usb*
ls: /dev/*usb*: No such file or directory
# after plugging in the BLG
$ ls /dev/*usb*
I opened another terminal window and started the GUI. This was also pretty simple on the Mac, since the Tcl interpreter the GUI uses comes installed by default.
$ ~/blg/BruGi_049A_r45/_BruGi/GUI --> wish bl-tool2_049.tcl
Oops, it looks like I've downloaded version 49, while the pre-installed firmware is version 48. Later I'll try recompiling and reloading, but for now I'll download version 48 and see how that works.
Hmm, the BLG starts up and operates, and the GUI seems to start up with no problem, but as soon as I click Connect, the motors jump and then the entire BLG goes limp. Yikes, is it dead?
mh@maru ~/blg/_048/_048/GUI --> wish bl-tool2_048_AHa.tcl
No, power-cycling brings everything back to normal. Whew!!!
Command Line Fiddling
So, before we try building and installing version 49, let's see what happens if we connect directly to the BLG card. It turns out there's an online command mode, complete with help. Here's the help text, and the output of a couple of the transmit commands. Note that this is pretty old school, so you have to type the commands in caps, and press control-J to terminate the line. You won't see any echo. The board talks at 115200/8/N/1. It might be easier to use the Arduino terminal window.
mh@maru ~ --> screen /dev/tty.usbserial-A96LPFBJ 115200
MPU6050 ok (LOW)
Motion detected during Gyro calibration. Starting over!
Gyro calibration: done
GO! Type HE for help, activate NL in Arduino Terminal!
Explanation in brackets(), use Integers only !
WE (Writes active config to eeprom)
RE (Restores values from eeprom to active config)
TC (transmits all config values in eeprom save order)
SD (Set Defaults)
SP gyroPitchKp gyroPitchKi gyroPitchKd (Set PID for Pitch)
SR gyroRollKp gyroRollKi gyroRollKd (Set PID for Roll)
SA accelWeight (Set Weight in accelWeight/1000)
SF nPolesMotorPitch nPolesMotorRoll
SE maxPWMmotorPitch maxPWMmotorRoll (Used for Power limitiation on each motor 255=high, 1=low)
SM dirMotorPitch dirMotorRoll motorNumberPitch motorNumberRoll
GC (Recalibrates the Gyro Offsets)
TRC (transmitts RC Config)
SRC minRCPitch maxRCPitch minRCRoll maxRCRoll (angles -90..90)
SCA rcAbsolute (1 = true, RC control is absolute; 0 = false, RC control is proportional)
TCA (Transmit RC control absolute or not)
UAC useACC (1 = true, ACC; 0 = false, DMP)
TAC (Transmit ACC status)
OAC accOutput (Toggle Angle output in ACC mode: 1 = true, 0 = false)
ODM dmpOutput (Toggle Angle output in DMP mode: 1 = true, 0 = false)
HE (This output)
Quitting screen (control-A control-\) resets the board.
To Be Continued...
Next I'm going to build and install version 49, and try the version 49 GUI again.
WORK IN PROGRESS
This posting is a work in progress. Everything below is for future cut and paste.
Here's the gimbal being powered up and running smoothly.