We recently bought a NanoCom and a TNC1 form Gomspace, we are currently working on the ground station software.
The first we need is a software to send /receive our own packets (raw data) between the NanoCom and the TNC1.
Searching in the source code we found examples/kiss.c to be a starting point to our ground station software
root@estacion:~/gsSuchai/libcsp-master# ./waf build --enable-if-kiss --enable-examples
Waf: Entering directory `/root/gsSuchai/libcsp-master/build'
[ 1/24] c: src/arch/posix/csp_malloc.c -> build/src/arch/posix/csp_malloc.c.1.o
[ 2/24] c: src/arch/posix/csp_queue.c -> build/src/arch/posix/csp_queue.c.1.o
[ 3/24] c: src/arch/posix/csp_semaphore.c -> build/src/arch/posix/csp_semaphore.c.1.o
[ 4/24] c: src/arch/posix/csp_system.c -> build/src/arch/posix/csp_system.c.1.o
[ 5/24] c: src/arch/posix/csp_thread.c -> build/src/arch/posix/csp_thread.c.1.o
[ 6/24] c: src/arch/posix/csp_time.c -> build/src/arch/posix/csp_time.c.1.o
[ 7/24] c: src/arch/posix/pthread_queue.c -> build/src/arch/posix/pthread_queue.c.1.o
[ 8/24] c: src/csp_buffer.c -> build/src/csp_buffer.c.1.o
[ 9/24] c: src/csp_conn.c -> build/src/csp_conn.c.1.o
[10/24] c: src/csp_debug.c -> build/src/csp_debug.c.1.o
[11/24] c: src/csp_endian.c -> build/src/csp_endian.c.1.o
[12/24] c: src/csp_io.c -> build/src/csp_io.c.1.o
[13/24] c: src/csp_port.c -> build/src/csp_port.c.1.o
[14/24] c: src/csp_route.c -> build/src/csp_route.c.1.o
[15/24] c: src/csp_service_handler.c -> build/src/csp_service_handler.c.1.o
[16/24] c: src/csp_services.c -> build/src/csp_services.c.1.o
[17/24] c: src/interfaces/csp_if_kiss.c -> build/src/interfaces/csp_if_kiss.c.1.o
[18/24] c: src/interfaces/csp_if_lo.c -> build/src/interfaces/csp_if_lo.c.1.o
[19/24] c: src/transport/csp_udp.c -> build/src/transport/csp_udp.c.1.o
[20/24] cstlib: build/src/arch/posix/csp_malloc.c.1.o build/src/arch/posix/csp_queue.c.1.o build/src/arch/posix/csp_semaphore.c.1.o build/src/arch/posix/csp_system.c.1.o build/src/arch/posix/csp_thread.c.1.o build/src/arch/posix/csp_time.c.1.o build/src/arch/posix/pthread_queue.c.1.o build/src/csp_buffer.c.1.o build/src/csp_conn.c.1.o build/src/csp_debug.c.1.o build/src/csp_endian.c.1.o build/src/csp_io.c.1.o build/src/csp_port.c.1.o build/src/csp_route.c.1.o build/src/csp_service_handler.c.1.o build/src/csp_services.c.1.o build/src/interfaces/csp_if_kiss.c.1.o build/src/interfaces/csp_if_lo.c.1.o build/src/transport/csp_udp.c.1.o -> build/libcsp.a
[21/24] c: examples/simple.c -> build/examples/simple.c.2.o
[22/24] cprogram: build/examples/simple.c.2.o -> build/simple
[23/24] c: examples/kiss.c -> build/examples/kiss.c.3.o
../examples/kiss.c: In function ‘main’:
../examples/kiss.c:114:2: warning: passing argument 1 of ‘csp_kiss_init’ from incompatible pointer type [enabled by default]
In file included from ../examples/kiss.c:3:0:
/root/gsSuchai/libcsp-master/include/csp/interfaces/csp_if_kiss.h:97:6: note: expected ‘struct csp_iface_t *’ but argument is of type ‘void (*)(char *, int)’
../examples/kiss.c:114:2: warning: passing argument 2 of ‘csp_kiss_init’ from incompatible pointer type [enabled by default]
In file included from ../examples/kiss.c:3:0:
/root/gsSuchai/libcsp-master/include/csp/interfaces/csp_if_kiss.h:97:6: note: expected ‘struct csp_kiss_handle_t *’ but argument is of type ‘void (*)(char, void *)’
../examples/kiss.c:114:2: error: too few arguments to function ‘csp_kiss_init’
In file included from ../examples/kiss.c:3:0:
/root/gsSuchai/libcsp-master/include/csp/interfaces/csp_if_kiss.h:97:6: note: declared here
../examples/kiss.c:115:2: warning: passing argument 1 of ‘usart_set_callback’ from incompatible pointer type [enabled by default]
In file included from ../examples/kiss.c:5:0:
/root/gsSuchai/libcsp-master/include/csp/drivers/usart.h:58:6: note: expected ‘usart_callback_t’ but argument is of type ‘void (*)(struct csp_iface_t *, uint8_t *, int, void *)’
../examples/kiss.c:117:32: error: ‘csp_if_kiss’ undeclared (first use in this function)
../examples/kiss.c:117:32: note: each undeclared identifier is reported only once for each function it appears in
Waf: Leaving directory `/root/gsSuchai/libcsp-master/build'
Build failed
-> task failed (exit status 1):
{task 162368460: c kiss.c -> kiss.c.3.o}
['gcc', '-Os', '-Wall', '-g', '-std=gnu99', '-I/root/gsSuchai/libcsp-master/build/include', '-I/root/gsSuchai/libcsp-master/include', '-I/root/gsSuchai/libcsp-master/libgomspace/include', '-I/root/gsSuchai/libgomspace/include', '-I/root/gsSuchai/libcsp-master/build/include', '-I/root/gsSuchai/libcsp-master/include', '../examples/kiss.c', '-c', '-o', 'examples/kiss.c.3.o']
It appears the file examples/kiss.c hasn't been tested, the csp_kiss_init function takes 2 args in examples/kiss.c but is defined to take 5. This way it will never compile.
" ./waf build --enable-examples --enable-if-kiss --with-driver-usart=linux --with-os=posix --install-csp"