blog
the new build system has an improved test system by enabling coverage and generating gcovr reports
there is now 100% coverage unit testing of the datastructures and >90% coverage of the utils directories. the utils are lower as there seem to be some redundant checks leading to never-followed branches. the pruning of these is planned
the new interface is easier to extend and to read
the testing was fun, the switchBox was connected to a toy keyboard from argos in such a way that each individual key could be pressed and the speaker was connected to an oscilloscope. the keys were then pressed in turn with the oscilloscope measuring the signals. this measurement was verified and was within a reasonable bound(given that the keyboard has lots of jitter and drift)
the current firmware can operate the switches and maintains counts of how many times a given contact has been closed(moved from NC to NO) as well as reporting the status
operation over USB and TCPIP are working
it is planned to add support for static IP addressing
the enclosure is coming along, the base holes have been drilled(but not countersunk) and the rear panel is marked up for the PCB mounted connectors. all front modifications are TODO
both the top and bottom PCBA have been produced
here are some outputs of the power tester. they are regulation and efficiency graphs for the flyback on the switchbox project
the power supply was also successful and had only one(two?) issue(s) which was that the input protection FET gates were not sufficiently protected and i had to fit the two nonpop zeners
the PSU regulates properly over the input range for 110% of the output current range(design=2A, test=2.2A) and is stable for more than 24hrs to within ten millivolts.
the efficiency isnt great, generally being in the upper 70%s but the measurement setup wasnt brilliant, the measured current values from the PSU have not been verified for correctness and may have a large amount of variance, if memory serves there is at least a 2% inaccuracy(was able to measure ~102% efficiency when the tester was in self-verification setup). the graph was also suspiciously spiky
i can finally claim victory over the LT8304!
the USB and ethernet(and therefore also clocking) have been verified before any firmware was flashed as the MCU has a vendor bootloader which may use USB or ethernet; the USB connection showed in dmesg and the ethernet BOOTP requests were visible in wireshark
the trigger subsystem was verified before fitment of the MCU or other comms interfaces and performed as required. later the exported power was loaded and the assembly thermals were reasonable
some firmware work has been done with a functional TCP connection and a couple of commands implemented. the relays have been tested using some temporary commands and perform as expected
so, early signs are good but there are still many unknowns, namely:-
- USB and ethernet at the same time
- full command set
- the chassis connectors are big and will need to be in a 4*8 arrangement, this needs to be drawn and made
- the upper PCBA is still TODO