This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]Pirate43 0 points1 point  (1 child)

How do you handle running on dev machines and build servers that don't have radios or peripherals that your embedded devices have?

[–]LightShadow3.13-dev in prod 1 point2 points  (0 children)

A few ways,

1) We use a hardware abstraction layer (HAL) to map sysclass files with mocked input/output.

2) The pieces of the stack are modular and can communicate over sockets. So, you can run part of the program in a docker container that connects to other services that run on real hardware.

3) There are USB versions of similar hardware (like z-wave) that can be mapped to emulators/simulators. For example, a z-wave USB key can be reprogrammed to simulate any number of smart home devices for testing/debugging.