Merge pull request #57 from GreyRook/fipy_support

add FiPy support
This commit is contained in:
Verkehrsrot 2018-05-14 20:32:53 +02:00 committed by GitHub
commit ac7e0494df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 38 additions and 5 deletions

View File

@ -25,6 +25,7 @@ Currently supported IoT boards:
- TTGOv2 {1}{4} - TTGOv2 {1}{4}
- Pycom LoPy {2} - Pycom LoPy {2}
- Pycom LoPy4 {2} - Pycom LoPy4 {2}
- Pycom FiPy {2}
- LoLin32 with [LoraNode32 shield](https://github.com/hallard/LoLin32-Lora) {2}{3} - LoLin32 with [LoraNode32 shield](https://github.com/hallard/LoLin32-Lora) {2}{3}
- LoLin32 Lite with [LoraNode32-Lite shield](https://github.com/hallard/LoLin32-Lite-Lora) {2}{3} - LoLin32 Lite with [LoraNode32-Lite shield](https://github.com/hallard/LoLin32-Lite-Lora) {2}{3}
@ -59,9 +60,9 @@ Use <A HREF="https://platformio.org/">PlatformIO</A> with your preferred IDE for
# Uploading # Uploading
To upload the code to your ESP32 board this needs to be switched from run to bootloader mode. Boards with USB bridge like Heltec and TTGO usually have an onboard logic which allows soft switching by the upload tool. In PlatformIO this happenes automatically.<p> To upload the code to your ESP32 board this needs to be switched from run to bootloader mode. Boards with USB bridge like Heltec and TTGO usually have an onboard logic which allows soft switching by the upload tool. In PlatformIO this happenes automatically.<p>
The LoPy/LoPy4 board needs to be set manually. See these The LoPy/LoPy4/FiPy board needs to be set manually. See these
<A HREF="https://www.thethingsnetwork.org/labs/story/program-your-lopy-from-the-arduino-ide-using-lmic">instructions</A> how to do it. Don't forget to press on board reset button after switching between run and bootloader mode.<p> <A HREF="https://www.thethingsnetwork.org/labs/story/program-your-lopy-from-the-arduino-ide-using-lmic">instructions</A> how to do it. Don't forget to press on board reset button after switching between run and bootloader mode.<p>
The original Pycom firmware is not needed, so there is no need to update it before flashing Paxcounter. Just flash the compiled paxcounter binary (.elf file) on your LoPy/LoPy4. If you later want to go back to the Pycom firmware, download the firmware from Pycom and flash it over. The original Pycom firmware is not needed, so there is no need to update it before flashing Paxcounter. Just flash the compiled paxcounter binary (.elf file) on your LoPy/LoPy4/FiPy. If you later want to go back to the Pycom firmware, download the firmware from Pycom and flash it over.
# Legal note # Legal note
@ -171,12 +172,12 @@ Note: all settings are stored in NVRAM and will be reloaded when device starts.
0 = disabled 0 = disabled
1 = enabled [default] 1 = enabled [default]
0x0F set WIFI antenna switch (works on LoPy/LoPy4 only) 0x0F set WIFI antenna switch (works on LoPy/LoPy4/FiPy only)
0 = internal antenna [default] 0 = internal antenna [default]
1 = external antenna 1 = external antenna
0x10 set RGB led luminosity (works on LoPy/LoPy4 and LoRaNode32 shield only) 0x10 set RGB led luminosity (works on LoPy/LoPy4/FiPy and LoRaNode32 shield only)
0 ... 100 percentage of luminosity (100% = full light) 0 ... 100 percentage of luminosity (100% = full light)
e.g. 50 -> 50% of luminosity [default] e.g. 50 -> 50% of luminosity [default]
@ -211,7 +212,7 @@ device answers with it's current configuration. The configuration is a C structu
# RGB Led color description # RGB Led color description
Description of the RGB LED color (LoPy/LoPy4 and Lolin32 only): Description of the RGB LED color (LoPy/LoPy4/FiPy and Lolin32 only):
- Yellow quick blink: joining LoRaWAN network in progress or pending - Yellow quick blink: joining LoRaWAN network in progress or pending
- Blue blink: LoRaWAN data transmit (including waiting for receive windows) in progress or pending - Blue blink: LoRaWAN data transmit (including waiting for receive windows) in progress or pending

View File

@ -79,6 +79,19 @@ build_flags =
-Dttgov2 -Dttgov2
-include "src/hal/ttgov2.h" -include "src/hal/ttgov2.h"
[env:fipy]
platform = espressif32
framework = arduino
board = esp32dev
monitor_baud = 115200
upload_speed = 921600
lib_deps =
${common_env_data.lib_deps_rgbled}
build_flags =
${common_env_data.build_flags}
-Dlopy
-include "src/hal/fipy.h"
[env:lopy] [env:lopy]
platform = espressif32 platform = espressif32
framework = arduino framework = arduino

19
src/hal/fipy.h Normal file
View File

@ -0,0 +1,19 @@
// Hardware related definitions for Pycom FiPy Board
#define CFG_sx1272_radio 1
#define HAS_LED NOT_A_PIN // FiPy4 has no on board LED, so we use RGB LED
#define HAS_RGB_LED 0 // WS2812B RGB LED on GPIO0
// Hardware pin definitions for Pycom FiPy board
#define PIN_SPI_SS 18
#define PIN_SPI_MOSI 27
#define PIN_SPI_MISO 19
#define PIN_SPI_SCK 5
#define RST LMIC_UNUSED_PIN
#define DIO0 23 // LoRa IRQ
#define DIO1 23 // workaround
#define DIO2 LMIC_UNUSED_PIN
// select WIFI antenna (internal = onboard / external = u.fl socket)
#define HAS_ANTENNA_SWITCH 21 // pin for switching wifi antenna
#define WIFI_ANTENNA 0 // 0 = internal, 1 = external