Add automatic library configuration to build setup task
This commit is contained in:
parent
3e3f0b6bb3
commit
35b2dd447c
2 changed files with 47 additions and 12 deletions
|
@ -21,13 +21,6 @@ Run `bash ./build setup` from the command line at the root of this repository.
|
||||||
### IoT Device
|
### IoT Device
|
||||||
- Copy `settings.custom.cpp.example` to `settings.custom.cpp` and fill in the fields there
|
- Copy `settings.custom.cpp.example` to `settings.custom.cpp` and fill in the fields there
|
||||||
- Review `settings.h` to make sure it matches your setup
|
- Review `settings.h` to make sure it matches your setup
|
||||||
- Edit `iot/libraries/arduino-lmic/src/lmic/config.h`, and add the following to the bottom:
|
|
||||||
|
|
||||||
```c++
|
|
||||||
#define DISABLE_PING
|
|
||||||
#define DISABLE_BEACONS
|
|
||||||
```
|
|
||||||
|
|
||||||
- Copy the folders in `iot/libraries` to your Arduino IDE libraries folder
|
- Copy the folders in `iot/libraries` to your Arduino IDE libraries folder
|
||||||
|
|
||||||
## Useful Links
|
## Useful Links
|
||||||
|
|
52
build
52
build
|
@ -43,18 +43,60 @@ fi
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
task_setup() {
|
# Toggles commenting and uncommenting lines in a file that contain a specific
|
||||||
task_begin "Setting up";
|
# substring. Checks for word boundaries either side of the substring.
|
||||||
|
# From https://stackoverflow.com/a/24901636/1460422
|
||||||
|
# $1 - Filename
|
||||||
|
# $2 - Search string
|
||||||
|
comment_toggle() {
|
||||||
|
filename="${1}";
|
||||||
|
search_string="${2}";
|
||||||
|
|
||||||
|
awk -v commentId='//' -v word="${search_string}" '
|
||||||
|
$0 ~ "(^|[[:punct:][:space:]])" word "($|[[:punct:][:space:]])" {
|
||||||
|
if (match($0, "^[[:space:]]*" commentId))
|
||||||
|
$0 = substr($0, RSTART + RLENGTH)
|
||||||
|
else
|
||||||
|
$0 = commentId $0
|
||||||
|
}
|
||||||
|
{ print }' "${filename}" > tmpfile.$$ && mv tmpfile.$$ "${filename}"
|
||||||
|
}
|
||||||
|
|
||||||
|
task_setup() {
|
||||||
|
stage_begin "Setting up";
|
||||||
|
|
||||||
|
task_begin "Checking Environment";
|
||||||
check_command git true;
|
check_command git true;
|
||||||
|
check_command awk true;
|
||||||
check_command pdflatex true;
|
check_command pdflatex true;
|
||||||
check_command bibtex true;
|
check_command bibtex true;
|
||||||
|
task_end $?;
|
||||||
|
|
||||||
subtask_begin "Initialising submodules";
|
task_begin "Initialising submodules";
|
||||||
git submodule update --init;
|
git submodule update --init;
|
||||||
subtask_end $?;
|
task_end $?;
|
||||||
|
|
||||||
task_end 0;
|
task_begin "Preconfiguring libraries";
|
||||||
|
config_file_directory="./iot/libraries/arduino-lmic/src/lmic/";
|
||||||
|
config_file_name="config.h";
|
||||||
|
cd "${config_file_directory}";
|
||||||
|
git reset --hard;
|
||||||
|
# Disable OTAA
|
||||||
|
comment_toggle "${config_file_name}" "#define DISABLE_JOIN";
|
||||||
|
# Disable class b stuff
|
||||||
|
comment_toggle "${config_file_name}" "#define DISABLE_PING";
|
||||||
|
comment_toggle "${config_file_name}" "#define DISABLE_BEACONS";
|
||||||
|
# Disable other misc. stuff we're not likely to use
|
||||||
|
comment_toggle "${config_file_name}" "#define DISABLE_MCMD_DCAP_REQ"; # Duty cycle cap - won't work anyway 'cause we're shutting down in between
|
||||||
|
comment_toggle "${config_file_name}" "#define DISABLE_MCMD_DN2P_SET"; # Receiving stuff
|
||||||
|
|
||||||
|
# echo "#define DISABLE_JOIN" >>"${config_file_name}";
|
||||||
|
# echo "#define DISABLE_PING" >>"${config_file_name}";
|
||||||
|
# echo "#define DISABLE_BEACONS" >>"${config_file_name}";
|
||||||
|
cd -;
|
||||||
|
task_end $?;
|
||||||
|
|
||||||
|
stage_end 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
task_render() {
|
task_render() {
|
||||||
|
|
Loading…
Reference in a new issue