diff --git a/src/tests/drivers/sx1278/test-sx1278-bench.cpp b/src/tests/drivers/sx1278/test-sx1278-bench.cpp index d9eefc1f5743c8b2eb596a2944bd48dc004a0b03..5ddb67f00a8800f77f5597fa3c9538fb8496a6e5 100644 --- a/src/tests/drivers/sx1278/test-sx1278-bench.cpp +++ b/src/tests/drivers/sx1278/test-sx1278-bench.cpp @@ -25,6 +25,8 @@ #include <thread> +#include "test-sx1278-core.h" + using namespace Boardcore; using namespace miosix; @@ -67,7 +69,6 @@ const char *stringFromErr(SX1278::Error err); const char *stringFromRxBw(SX1278::RxBw rx_bw); void printStats(Stats stats); -void printConfig(SX1278::Config config); /// Status informations. struct Stats @@ -300,104 +301,6 @@ int main() return 0; } -const char *stringFromErr(SX1278::Error err) -{ - switch (err) - { - case SX1278::Error::BAD_VALUE: - return "Error::BAD_VALUE"; - - case SX1278::Error::BAD_VERSION: - return "Error::BAD_VERSION"; - - default: - return "<unknown>"; - } -} - -const char *stringFromRxBw(SX1278::RxBw rx_bw) -{ - switch (rx_bw) - { - case SX1278::RxBw::HZ_2600: - return "RxBw::HZ_2600"; - - case SX1278::RxBw::HZ_3100: - return "RxBw::HZ_3100"; - - case SX1278::RxBw::HZ_3900: - return "RxBw::HZ_3900"; - - case SX1278::RxBw::HZ_5200: - return "RxBw::HZ_5200"; - - case SX1278::RxBw::HZ_6300: - return "RxBw::HZ_6300"; - - case SX1278::RxBw::HZ_7800: - return "RxBw::HZ_7800"; - - case SX1278::RxBw::HZ_10400: - return "RxBw::HZ_10400"; - - case SX1278::RxBw::HZ_12500: - return "RxBw::HZ_12500"; - - case SX1278::RxBw::HZ_15600: - return "RxBw::HZ_15600"; - - case SX1278::RxBw::HZ_20800: - return "RxBw::HZ_20800"; - - case SX1278::RxBw::HZ_25000: - return "RxBw::HZ_25000"; - - case SX1278::RxBw::HZ_31300: - return "RxBw::HZ_31300"; - - case SX1278::RxBw::HZ_41700: - return "RxBw::HZ_41700"; - - case SX1278::RxBw::HZ_50000: - return "RxBw::HZ_50000"; - - case SX1278::RxBw::HZ_62500: - return "RxBw::HZ_62500"; - - case SX1278::RxBw::HZ_83300: - return "RxBw::HZ_83300"; - - case SX1278::RxBw::HZ_100000: - return "RxBw::HZ_100000"; - - case SX1278::RxBw::HZ_125000: - return "RxBw::HZ_125000"; - - case SX1278::RxBw::HZ_166700: - return "RxBw::HZ_166700"; - - case SX1278::RxBw::HZ_200000: - return "RxBw::HZ_200000"; - - case SX1278::RxBw::HZ_250000: - return "RxBw::HZ_250000"; - - default: - return "<unknown>"; - } -} - -void printConfig(SX1278::Config config) -{ - printf("config.freq_rf = %d\n", config.freq_rf); - printf("config.freq_dev = %d\n", config.freq_dev); - printf("config.bitrate = %d\n", config.bitrate); - printf("config.rx_bw = %s\n", stringFromRxBw(config.rx_bw)); - printf("config.afc_bw = %s\n", stringFromRxBw(config.afc_bw)); - printf("config.ocp = %d\n", config.ocp); - printf("config.power = %d\n", config.power); -} - void printStats(Stats stats) { // Prints are REALLY slow, so take a COPY of stats, so we can print an diff --git a/src/tests/drivers/sx1278/test-sx1278-bidir.cpp b/src/tests/drivers/sx1278/test-sx1278-bidir.cpp index 48c4f8b00bda130ed95d9a4d392511fb73389c97..6ecf7b42664660dd6331bf8c707f130135216e3b 100644 --- a/src/tests/drivers/sx1278/test-sx1278-bidir.cpp +++ b/src/tests/drivers/sx1278/test-sx1278-bidir.cpp @@ -26,6 +26,8 @@ #include <cstring> #include <thread> +#include "test-sx1278-core.h" + using namespace Boardcore; using namespace miosix; @@ -59,11 +61,6 @@ GpioPin mosi1(GPIOB_BASE, 15); GpioPin cs1(GPIOA_BASE, 2); GpioPin dio1(GPIOC_BASE, 0); -const char *stringFromErr(SX1278::Error err); -const char *stringFromRxBw(SX1278::RxBw rx_bw); - -void printConfig(SX1278::Config config); - SX1278 *sx1278[2] = {nullptr, nullptr}; void __attribute__((used)) EXTI15_IRQHandlerImpl() @@ -202,101 +199,3 @@ int main() return 0; } - -const char *stringFromErr(SX1278::Error err) -{ - switch (err) - { - case SX1278::Error::BAD_VALUE: - return "Error::BAD_VALUE"; - - case SX1278::Error::BAD_VERSION: - return "Error::BAD_VERSION"; - - default: - return "<unknown>"; - } -} - -const char *stringFromRxBw(SX1278::RxBw rx_bw) -{ - switch (rx_bw) - { - case SX1278::RxBw::HZ_2600: - return "RxBw::HZ_2600"; - - case SX1278::RxBw::HZ_3100: - return "RxBw::HZ_3100"; - - case SX1278::RxBw::HZ_3900: - return "RxBw::HZ_3900"; - - case SX1278::RxBw::HZ_5200: - return "RxBw::HZ_5200"; - - case SX1278::RxBw::HZ_6300: - return "RxBw::HZ_6300"; - - case SX1278::RxBw::HZ_7800: - return "RxBw::HZ_7800"; - - case SX1278::RxBw::HZ_10400: - return "RxBw::HZ_10400"; - - case SX1278::RxBw::HZ_12500: - return "RxBw::HZ_12500"; - - case SX1278::RxBw::HZ_15600: - return "RxBw::HZ_15600"; - - case SX1278::RxBw::HZ_20800: - return "RxBw::HZ_20800"; - - case SX1278::RxBw::HZ_25000: - return "RxBw::HZ_25000"; - - case SX1278::RxBw::HZ_31300: - return "RxBw::HZ_31300"; - - case SX1278::RxBw::HZ_41700: - return "RxBw::HZ_41700"; - - case SX1278::RxBw::HZ_50000: - return "RxBw::HZ_50000"; - - case SX1278::RxBw::HZ_62500: - return "RxBw::HZ_62500"; - - case SX1278::RxBw::HZ_83300: - return "RxBw::HZ_83300"; - - case SX1278::RxBw::HZ_100000: - return "RxBw::HZ_100000"; - - case SX1278::RxBw::HZ_125000: - return "RxBw::HZ_125000"; - - case SX1278::RxBw::HZ_166700: - return "RxBw::HZ_166700"; - - case SX1278::RxBw::HZ_200000: - return "RxBw::HZ_200000"; - - case SX1278::RxBw::HZ_250000: - return "RxBw::HZ_250000"; - - default: - return "<unknown>"; - } -} - -void printConfig(SX1278::Config config) -{ - printf("config.freq_rf = %d\n", config.freq_rf); - printf("config.freq_dev = %d\n", config.freq_dev); - printf("config.bitrate = %d\n", config.bitrate); - printf("config.rx_bw = %s\n", stringFromRxBw(config.rx_bw)); - printf("config.afc_bw = %s\n", stringFromRxBw(config.afc_bw)); - printf("config.ocp = %d\n", config.ocp); - printf("config.power = %d\n", config.power); -} diff --git a/src/tests/drivers/sx1278/test-sx1278-core.cpp b/src/tests/drivers/sx1278/test-sx1278-core.cpp new file mode 100644 index 0000000000000000000000000000000000000000..86d4bc25445433ae4bfdbad5818197f60ca029e1 --- /dev/null +++ b/src/tests/drivers/sx1278/test-sx1278-core.cpp @@ -0,0 +1,123 @@ +/* Copyright (c) 2021 Skyward Experimental Rocketry + * Author: Davide Mor + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include "test-sx1278-core.h" + +using namespace Boardcore; + +const char *stringFromErr(SX1278::Error err) +{ + switch (err) + { + case SX1278::Error::BAD_VALUE: + return "Error::BAD_VALUE"; + + case SX1278::Error::BAD_VERSION: + return "Error::BAD_VERSION"; + + default: + return "<unknown>"; + } +} + +const char *stringFromRxBw(SX1278::RxBw rx_bw) +{ + switch (rx_bw) + { + case SX1278::RxBw::HZ_2600: + return "RxBw::HZ_2600"; + + case SX1278::RxBw::HZ_3100: + return "RxBw::HZ_3100"; + + case SX1278::RxBw::HZ_3900: + return "RxBw::HZ_3900"; + + case SX1278::RxBw::HZ_5200: + return "RxBw::HZ_5200"; + + case SX1278::RxBw::HZ_6300: + return "RxBw::HZ_6300"; + + case SX1278::RxBw::HZ_7800: + return "RxBw::HZ_7800"; + + case SX1278::RxBw::HZ_10400: + return "RxBw::HZ_10400"; + + case SX1278::RxBw::HZ_12500: + return "RxBw::HZ_12500"; + + case SX1278::RxBw::HZ_15600: + return "RxBw::HZ_15600"; + + case SX1278::RxBw::HZ_20800: + return "RxBw::HZ_20800"; + + case SX1278::RxBw::HZ_25000: + return "RxBw::HZ_25000"; + + case SX1278::RxBw::HZ_31300: + return "RxBw::HZ_31300"; + + case SX1278::RxBw::HZ_41700: + return "RxBw::HZ_41700"; + + case SX1278::RxBw::HZ_50000: + return "RxBw::HZ_50000"; + + case SX1278::RxBw::HZ_62500: + return "RxBw::HZ_62500"; + + case SX1278::RxBw::HZ_83300: + return "RxBw::HZ_83300"; + + case SX1278::RxBw::HZ_100000: + return "RxBw::HZ_100000"; + + case SX1278::RxBw::HZ_125000: + return "RxBw::HZ_125000"; + + case SX1278::RxBw::HZ_166700: + return "RxBw::HZ_166700"; + + case SX1278::RxBw::HZ_200000: + return "RxBw::HZ_200000"; + + case SX1278::RxBw::HZ_250000: + return "RxBw::HZ_250000"; + + default: + return "<unknown>"; + } +} + +void printConfig(SX1278::Config config) +{ + printf("config.freq_rf = %d\n", config.freq_rf); + printf("config.freq_dev = %d\n", config.freq_dev); + printf("config.bitrate = %d\n", config.bitrate); + printf("config.rx_bw = %s\n", stringFromRxBw(config.rx_bw)); + printf("config.afc_bw = %s\n", stringFromRxBw(config.afc_bw)); + printf("config.ocp = %d\n", config.ocp); + printf("config.power = %d\n", config.power); +} diff --git a/src/tests/drivers/sx1278/test-sx1278-core.h b/src/tests/drivers/sx1278/test-sx1278-core.h new file mode 100644 index 0000000000000000000000000000000000000000..7a5d224a4f887d899389c0dddbfed8788e6c33d5 --- /dev/null +++ b/src/tests/drivers/sx1278/test-sx1278-core.h @@ -0,0 +1,30 @@ +/* Copyright (c) 2021 Skyward Experimental Rocketry + * Author: Davide Mor + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#pragma once + +#include <drivers/SX1278/SX1278.h> + +const char *stringFromErr(Boardcore::SX1278::Error err); +const char *stringFromRxBw(Boardcore::SX1278::RxBw rx_bw); + +void printConfig(Boardcore::SX1278::Config config);