Note that all dates are in DD/MM/YYYY form.
- added legal copyright notations to the top of every source code file
- improved API design:
- relocated read/write buffers in Maestro struct instead of localized buffers in each API
- all requests supported by Polulu Micro Maestro 6-Channel (i.e., set_target, get_position, etc.) implemented
- get requests (i.e., get_position, get_errors) return a u16 instead of a reference to the internal read buffer
- finished documentation for all public modules and exports
- formatted library using rustfmt (all formatting rules can be found in rustfmt.toml)
- fixed implementation for raestro::constants::Errors
- when an error or errors are encountered, the Maestro returns a 2-byte (
u16
) integer in which each of the first 9 positions (i.e., bit 0 to bit 8) represent an error - if the bit in position i (where i =
0..=8
) is set, then the according error was thrown by the Maestro - previous implementation of
constants::Errors
assumed that each error had a specific number attached to it (i.e.,SER\_SIGNAL\_ERR
was0
,SER\_BUFFER\_ERR
was1
, etc.), which is incorrect
- when an error or errors are encountered, the Maestro returns a 2-byte (
- the underlying
uart
instance was incorrectly configured to wait indefinitely if no bytes were read on theUART
lines - this was updated so that
Maestro::read
would only block for 2 seconds, max (default configuration) Maestro::set_target
was updated to take in values in units of quarter-us, not us, since all otherraestro
APIs expect values in units of quarter-us- docs were updated to reflect this change