У меня есть доска arduino с щитом WIFI. Я собираю и тестирую свои подразделения дома и размещаю их на тестовом сайте.
Это набор параметров, которые я использую сейчас:
Home:
String WIFI_SSID = "myssid";
String WIFI_PASSWORD = "123";
bool USE_IP = true;
int PORT = 8080;
String IP = "192.168.1.140";
String DOMAIN = null;
Test-site:
String WIFI_SSID = "Test-siteSSID";
String WIFI_PASSWORD = "456";
bool USE_IP = false;
int PORT = 80;
String IP = null;
String DOMAIN = "www.google.com";
Мне очень неприятно, что мне приходится вручную менять эти переменные в среде Arduino, когда я переключаю места (что происходит довольно часто). Поэтому я взглянул на https://github.com/sudar/Arduino-Makefile, который позволил мне использовать командную строку для сборки и компиляции кода arduino.
Это то, что я планирую сделать:
make HOME
или make DEPLOY
Мои вопросы:
HOME
или DEPLOY
на шаге 2?Это происходит в вашем make файле:
TARGET?=DEPLOY
all: build ...
build:
\tgcc ... -D$(TARGET) ...
.PHONY: all build ...
Это относится к исходному коду:
#ifdef DEPLOY
#include "defs_deploy.h"
#else
#ifdef HOME
#include "defs_home.h"
#else
#error Neither DEPLOY nor HOME is defined
#endif /* HOME */
#endif /* DEPLOY */
Один из них идет по вашей командной строке:
make TARGET=DEPLOY
make TARGET=HOME
Не красиво, но это сработает.