Current shortcomings of the software:
- Only 16-bits values supported
- Some settings can only be retrieved by first making a setting to for example a multiplexer, then reading out the setting.
- When receiving a big macro, you can't automatically retrieve all settings -- instead you have to pilfer some readings out because of multiplexers and complex ADCs
- When you pilfer out these readings, you can't automatically convert them
- The database contains reverse polynomes but the screens don't support these
- The tables are quite complicated and could be cleaned up
- There could be automatically generated screens for the tables -- now they're handmade and they suck
- Data comes back as eight bytes, which are picked apart everywhere in the code. It would be better to have a nice logical data structure which is used everywhere.
- Error checking should be fully integrated, i.e. after every packet, error checking can be done and perl can die() immediately if an error occurs.
You can, of course, create a getter/setter on the func board, then put the measurements in there. When readings come out through a macro, these could just be used with the raw2eng() function.