Avionics Updates
- Updates to the battery pack case (Dave, Andrew)
- Distance between D blocks set at "2 holes"
- Charge board is too big to fit on end of battery board. Let's just not worry about trying to mount it to the back. It does fit on the top of the avionics module, so that's probably the best place for it.
- Dave to do: remove holes from sides, remove front panel for PCB, insert holes for PCB screws, thin foam and thicken plastic, add ribbing for bolt heads, add filets
- Nathan has the GPS carrier board schematic done.
- Richard has a great redesign for the launch tower computer (LTC). Still looking for a cheap linux board for it.
Battery Hacking
Jamey and Andrew wrote to the flash of the BQ3060. Successful? Hard to say. We certainly wrote to the flash, but since i2cget doesn't have a multibyte read command (eeeeyururrgh) we can't read the everything we wrote. Here's our attempt to write to flash. We calculated the following bytes to write:
- C.7.1 Registers (Subclass 64) (Page 142)
- C.7.1.1 Operation Cfg A (Offset 0)
- High: rrrrrr-11 = 0x03
- Low : rr-1-01-r-00 = 0x28
- C.7.1.2 Operation Cfg B (Offset 2)
- High: rrr-0-0-1-0-0 = 0x04
- Low : 0-1-0-0-0-0-0-1 = 0x41 // LSB = BCAST is the bit we care about
- C.7.1.3 Operation Cfg C (Offset 4)
- High: rrrrrrrr = 0x00
- Low : r0rrr100 = 0x04
- C.7.1.4 Permanent Fail Cfg (Offset 6)
- High: 00000000 = 0x00
- Low : 00000000 = 0x00
- C.7.1.5 Non-Removable Cfg (Offset 8)
- High: 00000000 = 0x00
- Low : 00000000 = 0x00
- C.7.1.1 Operation Cfg A (Offset 0)
And then we ran these commands
i2cset -y 0 0x0b 0x77 64 w i2cget -y 0 0x0b 0x78 w // confirm it's 0x0228 i2cset -y 0 0x0b 0x78 0x03 0x28 0x04 0x41 0x00 0x04 0x00 0x00 0x00 0x00 s i2cget -y 0 0x0b 0x78 w // now should be 0x0328
We get 0x020a from the first i2cget. OK, so the chip isn't set to the exact defaults. That's OK. After running the flash writes, we then get 0x030a. OK, that's weird, we wrote the first byte but not the second? Can't really explain that.
Other things:
- BQ3060 doesn't seem to come up when in sleep mode, even if the charger is turned on. This needs more exploration (try
chargewhen it's asleep. - Wrote
/usr/local/sbin/chargewhich manually turns on charging from the BQ24275 charger chip.
Andrew notes: If BCAST is set, then "ChargingVoltage and ChargingCurrent broadcasts are sent to the Smart-Charger device address (0x12) every 10 to 60 seconds." That makes sense, because the BQ24725 data sheet says the chip should be at 0x12. But... but... our charger chip is at address 0x09. And for that matter, why does the BQ3060 manual say it should be at 0x16 when it's really at 0x0B? Something weird is going on here.