blog

date: 2024-11-06 00:00:02 projects: skipper
even more quality improvements! (still no unit testing) the quality checks have expanded to also use clang-tidy

this has all led to a fairly large change in development environment, i now have the following in emacs

  • eglot (LSP)
  • company-mode (autocompletion)
  • have left the terminal! i use the GUI
  • a nice start-of-day function that sets the frames and tabs up how i like

as this is a makefile project, it needs a clang compile_commands.json for the clang utilities to work. this is done with bear which was in the debian repos. all that is done is either: call make through bear bear -- make -j or(if there are existing build remains) make compile_commands.json

it wasnt so good at the start as clang-format(which eglot-format-buffer uses) uses the wrong formatting style. this was fairly straightforward to configure though so not too bad

clang-tidy is a big beast, it can be fooled into breaking things by telling it to fix code enough times!(im still learning lots about modern C++!) but can be reigned in like other static analysers... i settled on the following checks configuration performance*,modernize*,-modernize-use-trailing-return-type,readability*,-readability-redundant-control-flow,-readability-identifier-length,-readability-magic-numbers,-modernize-redundant-void-arg,-readability-else-after-return,-modernize-use-equals-default,-modernize-pass-by-value which seem reasonable?

all of this because i want to be able to control some instruments!


date: 2024-10-23 02:55:10 projects: skipper
woop! SDM3055 support is now here!

there are loads of quality improvements though

  • docs
  • proper compiler error flags
  • unit testing

docs are simple and are being worked on, when reasonable docs will move over to being an ongoing process

compiler error flags should have been done when the Makefiles were written and there is a big chance that enabling the normal -Wall -Werror -Wextra flags will cause some nontrivial rework

unit testing will be new, ive only done a little bit of CPP unit testing and that was in TESSY which is out of my price range


date: 2024-10-22 00:16:35 projects: skipper
ive decided. the SDM3055 will first gain a SDM3055 driver which does not use the scancard. this will implement a new DMM interface

when the SDM3055-SC driver with scancard support is written it will implement a new scanningDMM interface

there is now also some minimal support for gitea actions


date: 2024-10-21 21:07:09 projects: switchBox
the PCB layout is now generally complete. it just needs some silkscreen fanciness and a final look over to verify that the tracking is sound.

i may put some form of protection on the ethernet lamps, they dont have any right now

i put the design into aisler to get a RoM cost on the PCB and it is expensive at about £50 per PCB and MOQ of 3 which gives a total PCB cost of £100 per switchBox. this means it needs to be as close to perfect as possible as its very much a oneshot as theres probably about the same in components on the PCBA still, it should be fine...right?


date: 2024-10-20 21:45:58 projects: switchBox
after too many hours of searching for 5mm requirement clearenced ethernet connectors with no success i give up. this design will have to have the PCB butting againt the chassis panel. the USB connector will be reworked to provide the same amount of edge overhang as the ethernet connector

the contact connectors were revisited and actually the chosen part was fine, the model was incorrect but the chosen part was fine and its BoM information is now populated

the PCB is almost done just needing:-

  • ethernet
  • silkscreen tidying
  • routing final look
  • DRC
  • any additional silkscreen

then it will be on to software! its been a long time coming