Merge pull request #1099 from alistair23/alistair/tock-bump

examples/NonArduino/Tock: Update to the latest libtock-c API
This commit is contained in:
Jan Gromeš 2024-05-15 18:49:33 +02:00 committed by GitHub
commit 5ac5bdaadc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 24 additions and 18 deletions

View file

@ -233,7 +233,7 @@ jobs:
run: | run: |
cd $PWD/examples/NonArduino/Tock cd $PWD/examples/NonArduino/Tock
git clone https://github.com/tock/libtock-c.git git clone https://github.com/tock/libtock-c.git
cd libtock-c; git checkout 44bf89c545953d8859faf101d4b4a4b6a151fe6c; cd ../ cd libtock-c; git checkout dbee65a56d74b4bad166317f199e80b959f7c82c; cd ../
LIBTOCK_C_DIRECTORY="$(pwd)/libtock-c" ./build.sh LIBTOCK_C_DIRECTORY="$(pwd)/libtock-c" ./build.sh
rpi-build: rpi-build:

View file

@ -54,6 +54,7 @@ if (RISCV_BUILD)
target_link_libraries(${PROJECT_NAME} PUBLIC target_link_libraries(${PROJECT_NAME} PUBLIC
RadioLib RadioLib
$ENV{LIBTOCK_C_DIRECTORY}/libtock/build/rv32imc/libtock.a $ENV{LIBTOCK_C_DIRECTORY}/libtock/build/rv32imc/libtock.a
$ENV{LIBTOCK_C_DIRECTORY}/libtock-sync/build/rv32imc/libtocksync.a
$ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-13.2.0/riscv/lib/gcc/riscv64-unknown-elf/13.2.0/rv32i/ilp32/libgcc.a $ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-13.2.0/riscv/lib/gcc/riscv64-unknown-elf/13.2.0/rv32i/ilp32/libgcc.a
$ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-13.2.0/riscv/riscv64-unknown-elf/lib/rv32i/ilp32/libstdc++.a $ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-13.2.0/riscv/riscv64-unknown-elf/lib/rv32i/ilp32/libstdc++.a
$ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-newlib-4.3.0.20230120/riscv/riscv64-unknown-elf/lib/rv32i/ilp32/libc.a $ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-newlib-4.3.0.20230120/riscv/riscv64-unknown-elf/lib/rv32i/ilp32/libc.a
@ -67,6 +68,7 @@ if (RISCV_BUILD)
target_link_libraries(${PROJECT_NAME} PUBLIC target_link_libraries(${PROJECT_NAME} PUBLIC
RadioLib RadioLib
$ENV{LIBTOCK_C_DIRECTORY}/libtock/build/rv32imc/libtock.a $ENV{LIBTOCK_C_DIRECTORY}/libtock/build/rv32imc/libtock.a
$ENV{LIBTOCK_C_DIRECTORY}/libtock-sync/build/rv32imc/libtocksync.a
$ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-10.5.0/riscv/lib/gcc/riscv64-unknown-elf/10.5.0/rv32i/ilp32/libgcc.a $ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-10.5.0/riscv/lib/gcc/riscv64-unknown-elf/10.5.0/rv32i/ilp32/libgcc.a
$ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-10.5.0/riscv/riscv64-unknown-elf/lib/rv32i/ilp32/libstdc++.a $ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-10.5.0/riscv/riscv64-unknown-elf/lib/rv32i/ilp32/libstdc++.a
$ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-newlib-4.2.0.20211231/riscv/riscv64-unknown-elf/lib/rv32i/ilp32/libc.a $ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-newlib-4.2.0.20211231/riscv/riscv64-unknown-elf/lib/rv32i/ilp32/libc.a
@ -82,6 +84,7 @@ else()
target_link_libraries(${PROJECT_NAME} PUBLIC target_link_libraries(${PROJECT_NAME} PUBLIC
RadioLib RadioLib
$ENV{LIBTOCK_C_DIRECTORY}/libtock/build/cortex-m4/libtock.a $ENV{LIBTOCK_C_DIRECTORY}/libtock/build/cortex-m4/libtock.a
$ENV{LIBTOCK_C_DIRECTORY}/libtock-sync/build/cortex-m4/libtocksync.a
$ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-13.2.0/arm/lib/gcc/arm-none-eabi/13.2.0/libgcc.a $ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-13.2.0/arm/lib/gcc/arm-none-eabi/13.2.0/libgcc.a
$ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-13.2.0/arm/arm-none-eabi/lib/libstdc++.a $ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-13.2.0/arm/arm-none-eabi/lib/libstdc++.a
$ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-newlib-4.3.0.20230120/arm/arm-none-eabi/lib/libc.a $ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-newlib-4.3.0.20230120/arm/arm-none-eabi/lib/libc.a
@ -91,6 +94,7 @@ else()
target_link_libraries(${PROJECT_NAME} PUBLIC target_link_libraries(${PROJECT_NAME} PUBLIC
RadioLib RadioLib
$ENV{LIBTOCK_C_DIRECTORY}/libtock/build/cortex-m4/libtock.a $ENV{LIBTOCK_C_DIRECTORY}/libtock/build/cortex-m4/libtock.a
$ENV{LIBTOCK_C_DIRECTORY}/libtock-sync/build/cortex-m4/libtocksync.a
$ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-10.5.0/arm/lib/gcc/arm-none-eabi/10.5.0/libgcc.a $ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-10.5.0/arm/lib/gcc/arm-none-eabi/10.5.0/libgcc.a
$ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-10.5.0/arm/arm-none-eabi/lib/libstdc++.a $ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-libc++-10.5.0/arm/arm-none-eabi/lib/libstdc++.a
$ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-newlib-4.2.0.20211231/arm/arm-none-eabi/lib/libc.a $ENV{LIBTOCK_C_DIRECTORY}/lib/libtock-newlib-4.2.0.20211231/arm/arm-none-eabi/lib/libc.a

View file

@ -23,7 +23,7 @@ The RadioLib example can be built with:
$ git clone https://github.com/jgromes/RadioLib.git $ git clone https://github.com/jgromes/RadioLib.git
$ cd RadioLib/examples/NonArduino/Tock/ $ cd RadioLib/examples/NonArduino/Tock/
$ git clone https://github.com/tock/libtock-c.git $ git clone https://github.com/tock/libtock-c.git
$ cd libtock-c; git checkout 44bf89c545953d8859faf101d4b4a4b6a151fe6c; cd ../ $ cd libtock-c; git checkout dbee65a56d74b4bad166317f199e80b959f7c82c; cd ../
$ LIBTOCK_C_DIRECTORY="$(pwd)/libtock-c" ./build.sh $ LIBTOCK_C_DIRECTORY="$(pwd)/libtock-c" ./build.sh
``` ```

View file

@ -31,10 +31,12 @@
#include <RadioLib.h> #include <RadioLib.h>
// include all the dependencies // include all the dependencies
#include "libtock/lora_phy.h" #include "libtock/net/lora_phy.h"
#include "libtock/gpio.h" #include "libtock/net/syscalls/lora_phy_syscalls.h"
#include "libtock/timer.h" #include "libtock-sync/net/lora_phy.h"
#include "libtock/read_only_state.h" #include "libtock/peripherals/gpio.h"
#include "libtock-sync/services/alarm.h"
#include "libtock/kernel/read_only_state.h"
#define RADIO_BUSY 1 #define RADIO_BUSY 1
#define RADIO_DIO_1 2 #define RADIO_DIO_1 2
@ -99,9 +101,9 @@ class TockHal : public RadioLibHal {
} }
if (mode == PIN_OUTPUT) { if (mode == PIN_OUTPUT) {
lora_phy_gpio_enable_output(pin); libtock_lora_phy_gpio_enable_output(pin);
} else if (mode == PIN_INPUT) { } else if (mode == PIN_INPUT) {
lora_phy_gpio_enable_input(pin, PullDown); libtock_lora_phy_gpio_enable_input(pin, libtock_pull_down);
} }
} }
@ -111,9 +113,9 @@ class TockHal : public RadioLibHal {
} }
if (value) { if (value) {
lora_phy_gpio_set(pin); libtock_lora_phy_gpio_set(pin);
} else { } else {
lora_phy_gpio_clear(pin); libtock_lora_phy_gpio_clear(pin);
} }
} }
@ -124,7 +126,7 @@ class TockHal : public RadioLibHal {
return 0; return 0;
} }
lora_phy_gpio_read(pin, &value); libtock_lora_phy_gpio_read(pin, &value);
return value; return value;
} }
@ -134,11 +136,11 @@ class TockHal : public RadioLibHal {
return; return;
} }
lora_phy_gpio_interrupt_callback(lora_phy_gpio_Callback, &interruptCb); libtock_lora_phy_gpio_command_interrupt_callback(lora_phy_gpio_Callback, &interruptCb);
// set GPIO as input and enable interrupts on it // set GPIO as input and enable interrupts on it
lora_phy_gpio_enable_input(interruptNum, PullDown); libtock_lora_phy_gpio_enable_input(interruptNum, libtock_pull_down);
lora_phy_gpio_enable_interrupt(interruptNum, Change); libtock_lora_phy_gpio_enable_interrupt(interruptNum, libtock_change);
} }
void detachInterrupt(uint32_t interruptNum) override { void detachInterrupt(uint32_t interruptNum) override {
@ -146,15 +148,15 @@ class TockHal : public RadioLibHal {
return; return;
} }
lora_phy_gpio_disable_interrupt(interruptNum); libtock_lora_phy_gpio_disable_interrupt(interruptNum);
} }
void delay(unsigned long ms) override { void delay(unsigned long ms) override {
delay_ms( ms ); libtocksync_alarm_delay_ms( ms );
} }
void delayMicroseconds(unsigned long us) override { void delayMicroseconds(unsigned long us) override {
delay_ms( us / 1000 ); libtocksync_alarm_delay_ms( us / 1000 );
} }
unsigned long millis() override { unsigned long millis() override {
@ -181,7 +183,7 @@ class TockHal : public RadioLibHal {
} }
void spiTransfer(uint8_t* out, size_t len, uint8_t* in) { void spiTransfer(uint8_t* out, size_t len, uint8_t* in) {
lora_phy_read_write_sync((const char*) out, (char*) in, len); libtocksync_lora_phy_read_write(out, in, len);
} }
void spiEndTransaction() { void spiEndTransaction() {