Instantly share code, notes, and snippets.

View sndway_control2.ino
/**
* Controls and reads actual measured distance from LCD bus of a Sndway SW-A40 laser distance meter.
* Improved version not using Arduino delay that causes random problems with serial interface.
*
* Serial control characters:
*
* ? Return identifier string.
* c Clears measurement results and turns off laser.
* Can be used as keep alive command to prevent auto power off after 150s.
* M Turns on device when off and triggers a measurement.
View main.c
/*
* Creates sinus and cosinus lookup tables for IQ signal generation
* for AD9361 (ADALM-Pluto) simulating TX channel settings.
*
* channel_convert_inverse Converts I or Q sample from host format into hardware format.
* channel_convert Converts I or Q sample from hardware format into host format.
*
* See https://github.com/analogdevicesinc/libiio/blob/master/channel.c
*
*/
View sndway_control.ino
/**
* Controls and reads actual measured distance from LCD bus of a Sndway SW-A40 laser distance meter.
*
* Serial control characters:
*
* ? Return identifier string.
* c Clears measurement results and turns off laser.
* Can be used as keep alive command to prevent auto power off after 150s.
* M Turns on device when off and triggers a measurement.
* S Start continuous measurement mode. Device must be turned on prior to this command.
View sndway_lcd_logger.ino
/**
* Log SPI bus from LCD of a Sndway SW-A40 laser distance meter.
*
* Developed and tested on Arduino Mini 328P@16MHz.
* Requires circular buffer library from https://github.com/rlogiacco/CircularBuffer
* See https://www.mictronics.de/2018/02/laser-distance-meter-hack/
* Mictronics 2018 @ www.mictronics.de
*/
#include <CircularBuffer.h>
View sndway_simple_readout.ino
/**
* Reading actual measured distance from LCD of a Sndway SW-A40 laser distance meter.
*
* Developed and tested on Arduino Mini 328P@16MHz.
* See https://www.mictronics.de/2018/02/laser-distance-meter-hack/
* Mictronics 2018 @ www.mictronics.de
*/
/**
* Pin connection to LCD SPI bus.