Driver to get ranging data from Decawave DW1000 modules connected to Arduino Decawave DW1000 modules (http://www.decawave.com/products/dwm1000-module) are Ultra-Wide-Band devices that can be used for communication and ranging. Especially, using 3 modules as anchors can provide data for a localization system based on trilateration. The DW1000 is using a SPI connection, but an arduino-compatible board can be used with the library https://github.com/thotro/arduino-dw1000 to hyde the low level drivers and provide direct ranging informations. See https://hal-enac.archives-ouvertes.fr/hal-01936955 for more information on the EKF filtering.
ifeq (,$(findstring $(DW1000_USE_AS_GPS),0 FALSE)) ifdef SECONDARY_GPS ifneq (,$(findstring $(SECONDARY_GPS), dw1000)) # this is the secondary GPS $(TARGET).CFLAGS += -DGPS_SECONDARY_TYPE_H=\"modules/decawave/dw1000_arduino.h\" $(TARGET).CFLAGS += -DSECONDARY_GPS=GPS_DW1000 else $(TARGET).CFLAGS += -DGPS_TYPE_H=\"modules/decawave/dw1000_arduino.h\" $(TARGET).CFLAGS += -DPRIMARY_GPS=GPS_DW1000 endif else # plain old single GPS usage $(TARGET).CFLAGS += -DGPS_TYPE_H=\"modules/decawave/dw1000_arduino.h\" endif endif