Blame view

orbimote/field_test_device/Makefile 3.25 KB
ca223e024   Jean-Michel Friedt   orbimote avec sof...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
  APPLICATION=field-test-device
  
  .PHONY: all
  all:
  	$(info $$DS75LX is ${DS75LX})
  	$(info $$GPS is ${GPS})
  	$(info $$DEVEUI is ${DEVEUI})
  	$(info $$DEVADDR is ${DEVADDR})
  	$(info $$OPERATOR is ${OPERATOR})
  	$(info $$OTAA is ${OTAA})
  
  # -----------------------------
  # Debug
  # -----------------------------
  
  # Set this to 1 to enable code in RIOT that does safety checking
  # which is not needed in a production environment but helps in the
  # development process:
  DEVELHELP ?= 1
  
  # Change this to 0 show compiler invocation lines by default:
  QUIET ?= 1
  
  #CFLAGS += -DENABLE_DEBUG=1
  CFLAGS += -DDEBUG_ASSERT_VERBOSE=1
  
  
  include ./Makefile.git
  
  include ./Makefile.device
  
  # Default region is Europe and default band is 868MHz
  REGION ?= EU868
  
  ifndef BOARD
  BOARD ?= im880b
  # Default radio driver is Semtech SX1272 (used by the IMST iM880ab boards)
  DRIVER ?= sx1272
  endif
  
  ifeq ($(BOARD),im880b)
  DS75LX ?= 1
  GPS ?= 0
  endif
  
  ifeq ($(DS75LX),1)
  USEMODULE += ds75lx
  CFLAGS += -DDS75LX=1
  endif
  
  ifeq ($(GPS),1)
  CFLAGS += -DGPS=1
  # define the GNSS module baudrate
  CFLAGS += -DSTD_BAUDRATE=9600
  endif
  
  FEATURES_REQUIRED += periph_rtc
  FEATURES_REQUIRED += periph_wdt
  
  USEMODULE += fmt
  USEMODULE += xtimer
  USEMODULE += stdin
  
  LORA_DRIVER ?= $(DRIVER)
  LORA_REGION ?= $(REGION)
  
  
  USEPKG += semtech-loramac
  USEMODULE += $(DRIVER)
  USEMODULE += semtech_loramac_rx
  #
  # DRPWSZ_SEQUENCE contains the sequence of triplets <datarate,tx power,payload size>
  # If datarate is 255, the ADR is set to TRUE
  #
  
  
  # By default (for all except LLCC68)
  ifndef LORAMAC_JOIN_MIN_DATARATE
  ifeq ($(DRIVER),llcc68) 
  LORAMAC_JOIN_MIN_DATARATE ?= 1
  else
  LORAMAC_JOIN_MIN_DATARATE ?= 0
  endif
  endif
  
  # By default
  ifndef DRPWSZ_SEQUENCE
  ifeq ($(DRIVER),llcc68) 
  # For LLCC68 (DR1 to DR5 @ 14 dBm)
  DRPWSZ_SEQUENCE ?= 1,14,8,1,14,32,1,14,16,2,14,16,3,14,16,4,14,16,5,14,16,5,11,16,5,8,16,5,5,16,5,2,16
  else
  DRPWSZ_SEQUENCE ?= 0,14,8,0,14,32,0,14,16,1,14,16,2,14,16,3,14,16,4,14,16,5,14,16,5,11,16,5,8,16,5,5,16,5,2,16
  endif
  endif
  
  # By default
  ifndef TXPERIOD
  TXPERIOD ?= 30
  endif
  
  # By default
  ifndef TXCNF
  TXCNF ?= false
  endif
  
  # initial ADR
  ADR_ON ?= false
  
  MIN_PORT ?= 1
  MAX_PORT ?= 170
  
  
  DEVELHELP ?= 1
  
  ifeq ($(OTAA),1)
  CFLAGS += -DOTAA=1
  else
  CFLAGS += -DOTAA=0
  endif
  
  ifeq ($(OTAA),0)
  CFLAGS += -DDEVADDR=\"$(DEVADDR)\"
  CFLAGS += -DAPPSKEY=\"$(APPSKEY)\"
  CFLAGS += -DNWKSKEY=\"$(NWKSKEY)\"
  endif
  
  ifdef LABEL
  CFLAGS += -DLABEL=\"$(LABEL)\"
  endif
  
  ifndef SECRET
  # SECRET should be changed and kept secret
  SECRET ?= cafebabe02000001cafebabe02ffffff
  endif
  
  ifndef DEVEUI
  USEMODULE += hashes
  CFLAGS += -DFORGE_DEVEUI_APPEUI_APPKEY -DSECRET=\"$(SECRET)\"
  else
  CFLAGS += -DDEVEUI=\"$(DEVEUI)\" -DAPPEUI=\"$(APPEUI)\" -DAPPKEY=\"$(APPKEY)\"
  endif
  
  ifndef OPERATOR
  OPERATOR ?= Undefined
  endif
  
  CFLAGS += -DREGION_$(REGION)
  CFLAGS += -DLORAMAC_REGION_STR=\"$(REGION)\"
  #CFLAGS += -DLORAMAC_ACTIVE_REGION=LORAMAC_REGION_$(REGION)
  CFLAGS += -DLORAMAC_JOIN_MIN_DATARATE=$(LORAMAC_JOIN_MIN_DATARATE)
  CFLAGS += -DDRPWSZ_SEQUENCE=$(DRPWSZ_SEQUENCE)
  CFLAGS += -DTXPERIOD=$(TXPERIOD)
  CFLAGS += -DTXCNF=$(TXCNF)
  CFLAGS += -DADR_ON=$(ADR_ON)
  CFLAGS += -DMIN_PORT=$(MIN_PORT) -DMAX_PORT=$(MAX_PORT)
  
  CFLAGS += -DOPERATOR=\"$(OPERATOR)\"
  
  # Send a APP_TIME_REQ every 100 messages
  CFLAGS += -DAPP_TIME_REQ_PERIOD=100
  
  
  #CFLAGS += -DVIRT_DEV=\"$(VIRT_DEV)\"
  
  
  include $(RIOTBASE)/Makefile.include