From 3357493e096fc0bd4767d1a3cc0cb7e3e52a4f53 Mon Sep 17 00:00:00 2001 From: Sylvain Miermont Date: Tue, 2 Jul 2013 16:11:43 +0200 Subject: Release Candidate 1, initial diffusion. --- loragw_hal/test/test_loragw_spi.c | 69 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 loragw_hal/test/test_loragw_spi.c (limited to 'loragw_hal/test/test_loragw_spi.c') diff --git a/loragw_hal/test/test_loragw_spi.c b/loragw_hal/test/test_loragw_spi.c new file mode 100644 index 0000000..76dbeef --- /dev/null +++ b/loragw_hal/test/test_loragw_spi.c @@ -0,0 +1,69 @@ +/* + / _____) _ | | +( (____ _____ ____ _| |_ _____ ____| |__ + \____ \| ___ | (_ _) ___ |/ ___) _ \ + _____) ) ____| | | || |_| ____( (___| | | | +(______/|_____)_|_|_| \__)_____)\____)_| |_| + ©2013 Semtech-Cycleo + +Description: + Minimum test program for the loragw_spi 'library' + Use logic analyser to check the results. +*/ + + +/* -------------------------------------------------------------------------- */ +/* --- DEPENDANCIES --------------------------------------------------------- */ + +#include +#include + +#include "loragw_spi.h" + +/* -------------------------------------------------------------------------- */ +/* --- PRIVATE MACROS ------------------------------------------------------- */ + +#define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0])) + +/* -------------------------------------------------------------------------- */ +/* --- PRIVATE CONSTANTS ---------------------------------------------------- */ + +#define BURST_TEST_SIZE 2500 /* >> LGW_BURST_CHUNK */ + +/* -------------------------------------------------------------------------- */ +/* --- MAIN FUNCTION -------------------------------------------------------- */ + +int main(int argc, char **argv) +{ + int i; + int spi_device; + uint8_t data; + uint8_t dataout[BURST_TEST_SIZE]; + uint8_t datain[BURST_TEST_SIZE]; + + for (i = 0; i < BURST_TEST_SIZE; ++i) { + dataout[i] = 0x30 + (i % 10); /* ASCCI code for 0 -> 9 */ + datain[i] = 0x23; /* garbage data, to be overwritten by received data */ + } + + printf("Beginning of test for loragw_spi.c\n"); + lgw_spi_open(&spi_device); + + /* normal R/W test */ + lgw_spi_w(spi_device, 0xAA, 0x96); + lgw_spi_r(spi_device, 0x55, &data); + + /* burst R/W test */ + lgw_spi_wb(spi_device, 0x55, dataout, ARRAY_SIZE(dataout)); + lgw_spi_rb(spi_device, 0x55, datain, ARRAY_SIZE(datain)); + + /* display results */ + printf("data received: %d\n",data); + + lgw_spi_close(spi_device); + printf("End of test for loragw_spi.c\n"); + + return 0; +} + +/* --- EOF ------------------------------------------------------------------ */ -- cgit v1.2.3