[tech] [ucc] New Dispense System

Grahame Bowland grahame at angrygoats.net
Sun Mar 20 23:50:35 WST 2011


Hey

I ran the clang static analyser out of curiosity, it only found minor things:
http://grahame.ucc.asn.au/dispense_scan/

You've probably got a type here, missing the '.'
itemdb.c:34:34: error: use of GNU old-style field designator extension
[-pedantic]
tHandler        gPseudo_Handler = {Name:"pseudo"};
                                   ~~~~~^
                                   .Name =

Code looks neat, disturbingly comprehensible!

Grahame

On 20 March 2011 17:46, John Hodge <tpg at ucc.asn.au> wrote:
> Sorry for the delay in sending this out.
>
> Dispense has finally been rewritten and rolled out, replacing the closed
> source version we have been using for the last ~17 years.
>
> The new version is BSD licensed and the full source can be found at
> http://git.ucc.asn.au/?p=tpg/opendispense2.git;a=summary
>
> Notable changes to the system:
> - Coke members can no-longer go negative
>  > As an alternative to that, it has been proposed that coke members get a
> slight discount on drinks.
> - `dispense give` takes a reason argument (that was a personal gripe of
> mine)
> - `dispense refund` has been added, to provide an easier way of refunding a
> bad dispense.
> - The item configuration has been improved
> - Improved coke serial interface code (no more corrupting, and faster
> dispenses)
> - The door.controllers and coke.controllers files are no-longer used, there
> is now a flag for each in the dispense user database.
>  > This can be modified by the `dispense user` sub-command
>
>
> Current Bugs/Issues that will be fixed:
> - The server is running on heathred for the time being (until the new
> mermaid is obtained), and hence logging is local to heathred (due to it not
> mounting /home)
> - Door and coke lists (and webpage) don't update at the moment (due to
> relying on *.controllers)
> - Snack machine still reads coke.contents, which is not updated
> - ncurses GUI is very basic (no price changing, just dispensing)
>
> For full instructions on using the new system, run `dispense --help`, or
> check out the source code.
>
> And, if you find any bugs (the application crashing, server doesn't respond,
> free dispenses / bad dispenses), report them to tpg at ucc
> If you're a programmer, I would appreciate a proper bug report, with a GDB
> backtrace, and/or a patch.
>
> --
>  John Hodge [TPG]
>  2011 Treasurer
>


More information about the tech mailing list