About time I checked in my alarm clock software to my real SVN
repository, now that I've finished initial development.


git-svn-id: svn://svn.tartarus.org/sgt@8006 cda61777-01e9-0310-a592-d414129be87e
Add a big comment containing all my notes on how to drive the Chumby
hardware.


git-svn-id: svn://svn.tartarus.org/sgt@8008 cda61777-01e9-0310-a592-d414129be87e
Put in my standard MIT licence.


git-svn-id: svn://svn.tartarus.org/sgt@8009 cda61777-01e9-0310-a592-d414129be87e
Peter Maydell spots an unchecked malloc.


git-svn-id: svn://svn.tartarus.org/sgt@8010 cda61777-01e9-0310-a592-d414129be87e
Add a README containing stopgap documentation.


git-svn-id: svn://svn.tartarus.org/sgt@8011 cda61777-01e9-0310-a592-d414129be87e
bob build script.


git-svn-id: svn://svn.tartarus.org/sgt@8015 cda61777-01e9-0310-a592-d414129be87e
This should be executable.


git-svn-id: svn://svn.tartarus.org/sgt@8016 cda61777-01e9-0310-a592-d414129be87e
Switch the behaviour of the debugchumby script so that by it only
enables sshd if a public key _is_ provided.


git-svn-id: svn://svn.tartarus.org/sgt@8017 cda61777-01e9-0310-a592-d414129be87e
It won't ever happen in practice, but avoid one-byte buffer overflow
when writing the trailing NUL after reading /psp/ts_settings.


git-svn-id: svn://svn.tartarus.org/sgt@8018 cda61777-01e9-0310-a592-d414129be87e
Now that I'm building via umlwrap which automatically creates
writable temp directories, we can lose those unsightly TMPDIRs.


git-svn-id: svn://svn.tartarus.org/sgt@8088 cda61777-01e9-0310-a592-d414129be87e
Aha! The Chumby firmware upgrade which fixes USB wired ethernet
support is finally out. Switch over to it.


git-svn-id: svn://svn.tartarus.org/sgt@8154 cda61777-01e9-0310-a592-d414129be87e
Exception days were not working when they were the first of a month,
because I foolishly forgot my dates were stored in yyyymmdd format
and hence couldn't just be incremented naively.


git-svn-id: svn://svn.tartarus.org/sgt@8378 cda61777-01e9-0310-a592-d414129be87e
Add a feature to note failure of the exception data retrieval and
flag it by replacing the day-of-week indicator with a big glaring
NETWORK FAULT message, in the hope that next time the Chumby loses
its connection to the outside world I'll notice.

Ideally I should do this in a way that doesn't depend on using the
exceptions feature, because network access is also important for
keeping the clock accurate.


git-svn-id: svn://svn.tartarus.org/sgt@8747 cda61777-01e9-0310-a592-d414129be87e
Detect a missing 'done' keyword at the end of the downloaded exception
data, and print the NETWORK FAULT message in response. I have a
suspicion that Tring has been somehow failing to report network issues
recently, perhaps by finding some route through curl's error reporting
that I'd failed to seal off, so this should be a last defence against
failing to notice that we did not in fact get exception data as we
should have done.


git-svn-id: svn://svn.tartarus.org/sgt@9273 cda61777-01e9-0310-a592-d414129be87e
Small correctness fix to ALSA API usage: don't assume
snd_pcm_poll_descriptors will always return the upper bound given by
snd_pcm_poll_descriptors_count.


git-svn-id: svn://svn.tartarus.org/sgt@9696 cda61777-01e9-0310-a592-d414129be87e
Another ALSA fix: don't forget to call snd_pcm_drain when we finish
playing a sound.


git-svn-id: svn://svn.tartarus.org/sgt@9697 cda61777-01e9-0310-a592-d414129be87e
Retire the objcopy-based mechanism for generating object files out of
binary blobs like sounds and images, replacing it with the traditional
approach of translating each blob into a C source file declaring an
array. I still think it would be nicer to be able to do a direct
INCBIN-type operation without having to translate every byte to hex
and back, but it is just too annoying to get hold of the right objcopy
options for your target when you're trying to be cross-platform.


git-svn-id: svn://svn.tartarus.org/sgt@9698 cda61777-01e9-0310-a592-d414129be87e
Add an alternative GTK front end, to make it easier for me to develop
Tring features. Now I can do initial testing on my development Linux
system and only need to do final testing on the device itself.


git-svn-id: svn://svn.tartarus.org/sgt@9699 cda61777-01e9-0310-a592-d414129be87e
New system for time-syncing the Chumby, since I've just noticed that
the previous approach of using time.chumby.com has stopped working
since that server no longer answers.


git-svn-id: svn://svn.tartarus.org/sgt@9700 cda61777-01e9-0310-a592-d414129be87e
Set up a rudimentary unit test framework, in an attempt to allow me to
mess around with the alarm-clock logic without breaking too many
things.

The test framework is only enabled when compiling in GTK mode (since
otherwise I'd have to run it on the Chumby). Run it using

  make -s test GTK=yes


git-svn-id: svn://svn.tartarus.org/sgt@9701 cda61777-01e9-0310-a592-d414129be87e