Discussion:
[srobo-devel] Power board firmware progress
Jeremy Morse
2015-09-05 21:47:16 UTC
Permalink
Hi,

I've applied some maintenance to the power board firmware which I'm
going to document here. There've also been some modifications to the
bootloader too, which I'll put in a different thread.

Two significant fixes are worth being aware of:
* The crash-on-high-usb-load situation that started showing up for
teams has been fixed, by moving the USB handling to be interrupt
triggered. While I was confident I'd already tried this, there must
have been something wrong with my technique then. USB is given a
lower priority interrupt, so the clock / piezo / etc will still
interrupt on top of it (which is what we want).
* The 5V rail is turned on in the bootloader now. This fixes the design
oversight that if we perform a bad flash, the brain board will never
be turned on, so the flash will never be recovered. The LED is on for
a fraction of a second because the application boot code resets GPIO,
but if you force bootloader entry (trigger ext/int user switches) it
stays on. There's the slight risk that someone could drain a battery
this way, but the hw has UVLO anyway.

There are some additional tweaks:
* The startup delay is reduced from 3s to 1s. I don't know why I put it
as three, that was probably while I was working out why the undervolt
measurements kept tripping.
* The firmware revision is emitted on the piezo on startup, in base 4,
using different tones. This replicates a nice feature on the v3 power
boards that did this.
* I've enabled the watchdog for this year. It was disabled due to
bootloader fun, see the other thread.

I'd enjoy some QA, and knowing whether there are any other rough edges
that need smoothing. We currently don't have any robot-library support
for the piezo, incidentally.

--
Thanks,
Jeremy
--
You received this message because you are subscribed to the Google Groups "Student Robotics Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to srobo-devel+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Peter Law
2015-09-16 16:44:25 UTC
Permalink
Post by Jeremy Morse
I've applied some maintenance to the power board firmware which I'm
going to document here. There've also been some modifications to the
bootloader too, which I'll put in a different thread.
*snip*
Post by Jeremy Morse
I'd enjoy some QA, and knowing whether there are any other rough edges
that need smoothing. We currently don't have any robot-library support
for the piezo, incidentally.
I'd like to get more involved with development of the kit side of
things, and this seems like a reasonable starting point. What's the
procedure for getting a dev kit to test with?

Thanks,
Peter
--
You received this message because you are subscribed to the Google Groups "Student Robotics Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to srobo-devel+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Jeremy Morse
2015-09-16 21:21:23 UTC
Permalink
Hi,
Post by Peter Law
I'd like to get more involved with development of the kit side of
things, and this seems like a reasonable starting point. What's the
procedure for getting a dev kit to test with?
I was under the (incorrect?) impression you'd beaten Rob about that? In
either case, the procedure is to ask Rob, who currently has possession
of dev kit.

--
Thanks,
Jeremy
--
You received this message because you are subscribed to the Google Groups "Student Robotics Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to srobo-devel+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Andrew Barrett-Sprot
2015-09-16 21:25:15 UTC
Permalink
Post by Jeremy Morse
...
I'd enjoy some QA, and knowing whether there are any other rough edges
Post by Jeremy Morse
that need smoothing. We currently don't have any robot-library support
for the piezo, incidentally.
--
Thanks,
Jeremy
Here's a bit of a rough edge:
A team that used their own motor controllers found their robot spinning at
the end of a match. Maybe it would be a good idea to cut the power of the
power board when the time limit is up to make movement after the match
impossible/

Less power board related, servos can only turn by half the amount they're
meant to be. This was a very obvious issue in Smallpiece but I've no idea
if it has been fixed in the latest version but it's worth bringing to
attention.

Thanks.
Andy B-S
--
You received this message because you are subscribed to the Google Groups "Student Robotics Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to srobo-devel+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Jeremy Morse
2015-09-21 15:22:57 UTC
Permalink
Hi,
Post by Andrew Barrett-Sprot
A team that used their own motor controllers found their robot spinning
at the end of a match. Maybe it would be a good idea to cut the power of
the power board when the time limit is up to make movement after the
match impossible/
Indeed, this used to be a feature in previous years, it's likely it was
missed last year in a rush. However, it's not a power board feature:
instead it's down to the sr-robot library to know that it's in
competition mode, and cut power after three minutes. The power board
doesn't know what's going on in software.

(It now resets all power rails when USB resets, which should happen when
the USB stick is removed).
Post by Andrew Barrett-Sprot
Less power board related, servos can only turn by half the amount
they're meant to be. This was a very obvious issue in Smallpiece but
I've no idea if it has been fixed in the latest version but it's worth
bringing to attention.
I'd be much more inclined to blame the servos as there's a huge
variation servo behaviours out there; this is something where Rich knows
much more than me though.

--
Thanks,
Jeremy
--
You received this message because you are subscribed to the Google Groups "Student Robotics Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to srobo-devel+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Peter Law
2015-09-21 17:36:00 UTC
Permalink
Post by Jeremy Morse
Post by Andrew Barrett-Sprot
A team that used their own motor controllers found their robot spinning
at the end of a match. Maybe it would be a good idea to cut the power of
the power board when the time limit is up to make movement after the
match impossible/
Indeed, this used to be a feature in previous years, it's likely it was
instead it's down to the sr-robot library to know that it's in
competition mode, and cut power after three minutes. The power board
doesn't know what's going on in software.
Tyler also noted this on trac shortly after the competition:
https://www.studentrobotics.org/trac/ticket/3052

Thanks,
Peter
--
You received this message because you are subscribed to the Google Groups "Student Robotics Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to srobo-devel+***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Loading...