-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8bd9e60
commit 0d7dbce
Showing
14 changed files
with
594 additions
and
131 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,24 @@ | ||
# stm32l476-radio-receiver | ||
|
||
All on-board digital AM radio receiver implemented on the stm32l4discovery board. No external components needed. Well maybe besides the looooong antenna wire. | ||
All digital AM radio receiver implemented on the stm32l4-discovery board. All the information is here: | ||
https://mightydevices.com/index.php/2020/02/stm32l4-discovery-radio-receiver/ | ||
|
||
## Principle of operation | ||
|
||
TODO | ||
|
||
## Makefile | ||
|
||
This project can be build using gcc or llvm (clang). This is how the Makefile and the linker script was prepared. Makefile is GNUMake compatible. You can configure all the tools used for building, add sources, libraries, etc.. | ||
|
||
## How to build | ||
|
||
This project can be build using arm-none-eabi-gcc. This is how the Makefile and the linker script were prepared for. Makefile is GNUMake compatible. | ||
|
||
Two things are needed: | ||
|
||
* Toolchain that contains C compiler, linker and supporting tools (like objcopy, objdump, nm, size) may be gcc arm embedded toolchain or clang/llvm equivalents with libraries such as libc, libg, libm or whatever you may require | ||
* Toolchain that contains C compiler, like the one from developer.arm.com | ||
* GNUMake to 'execute' the Makefile | ||
|
||
Building using GCC: | ||
``` | ||
make TOOLCHAIN=gcc all | ||
If you into dockerization then please read: https://mightydevices.com/index.php/2019/09/stm32-development-env-for-windows-vscode-arm-gcc-toolchain-openocd/ | ||
|
||
|
||
Building command: | ||
``` | ||
Builing using LLVM: | ||
make all | ||
``` | ||
make TOOLCHAIN=llvm all | ||
``` | ||
|
||
The firmware will be put into `./outs` directory |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
/** | ||
* @file radio.h | ||
* | ||
* @date 2020-02-05 | ||
* @author twatorowski | ||
* | ||
* @brief AT Notifications: Radio. | ||
*/ | ||
|
||
#ifndef AT_NTF_RADIO_H | ||
#define AT_NTF_RADIO_H | ||
|
||
|
||
/* initialize radio notifications submodule */ | ||
int ATNtfRadio_Init(void); | ||
/* poll radio notifications submodule */ | ||
void ATNtfRadio_Poll(void); | ||
/* store the iq data samples in at notifications buffer */ | ||
int ATNtfRadio_PutIQSamples(const float *i, const float *q, int num); | ||
|
||
#endif /* AT_NTF_RADIO_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
/** | ||
* @file base64.h | ||
* | ||
* @date 2019-11-27 | ||
* @author twatorowski | ||
* | ||
* @brief Base64 encoding/decoding functions. | ||
*/ | ||
|
||
#ifndef BASE64_BASE64_H_ | ||
#define BASE64_BASE64_H_ | ||
|
||
#include <stddef.h> | ||
|
||
/* encode with base64 */ | ||
|
||
/** | ||
* @brief Encode the input data with Base64 encoding. The algorithm works | ||
* backwards to make the in-situ operation possible if needed. | ||
* | ||
* @param in input data pointer | ||
* @param in_size size of the input data | ||
* @param out output data pointer | ||
* @param out_size maximal size of the output buffer | ||
* | ||
* @return int actual encoded data size | ||
*/ | ||
int Base64_Encode(const void *in, size_t in_size, void *out, size_t out_size); | ||
/* decode base64 string */ | ||
|
||
/** | ||
* @brief Decode the provided Base64 string. Can work in-situ. | ||
* | ||
* @param in pointer to Base64 encoded data | ||
* @param in_size size of the input data | ||
* @param out | ||
* @param out_size | ||
* | ||
* @return int | ||
*/ | ||
int Base64_Decode(const void *in, size_t in_size, void *out, size_t out_size); | ||
|
||
#endif /* BASE64_BASE64_H_ */ |
Oops, something went wrong.