From f41c2d64c0a094d3b7fb526a995b3c6d8642c982 Mon Sep 17 00:00:00 2001 From: Andy CA6JAU Date: Mon, 1 May 2017 19:54:27 -0300 Subject: [PATCH 1/2] Adding RPi Zero W support to Makefile --- Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Makefile b/Makefile index a2b2d06..1aad364 100644 --- a/Makefile +++ b/Makefile @@ -59,6 +59,11 @@ else DFU_UTIL=./STM32F10X_Lib/utils/rpi32/dfu-util ST_FLASH=./STM32F10X_Lib/utils/rpi32/st-flash STM32FLASH=./STM32F10X_Lib/utils/rpi32/stm32flash + else ifeq ($(shell uname -m),armv6l) + DFU_RST=./STM32F10X_Lib/utils/rpi32/upload-reset + DFU_UTIL=./STM32F10X_Lib/utils/rpi32/dfu-util + ST_FLASH=./STM32F10X_Lib/utils/rpi32/st-flash + STM32FLASH=./STM32F10X_Lib/utils/rpi32/stm32flash else DFU_RST=./STM32F10X_Lib/utils/linux/upload-reset DFU_UTIL=./STM32F10X_Lib/utils/linux/dfu-util From f3f166b9d850824a530046463ed54770da891e1b Mon Sep 17 00:00:00 2001 From: Andy CA6JAU Date: Mon, 1 May 2017 21:31:53 -0300 Subject: [PATCH 2/2] Adding more instructions --- BUILD.txt | 177 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 172 insertions(+), 5 deletions(-) diff --git a/BUILD.txt b/BUILD.txt index 320d264..0503799 100644 --- a/BUILD.txt +++ b/BUILD.txt @@ -1,5 +1,5 @@ Building instructions: - +===================== 1) Raspberry Pi with ZUMSpot Pi: * Download latest Raspbian image and install to a micro SD @@ -90,10 +90,91 @@ nano MMDVM.ini 2) ZUMSpot USB: * Windows: -coming soon... +- Download and install the version 1.6.9 of the Arduino IDE: +https://www.arduino.cc/en/Main/OldSoftwareReleases#previous -* Linux: -coming soon... +- Download STM32duino (Arduino for STM32) from this URL: +https://github.com/rogerclarkmelbourne/Arduino_STM32/tree/ZUMspot + +- Unzip to create the Arduino_STM32 folder + +- Copy Arduino_STM32 folder in: +My Documents/Arduino/hardware + +- Install the USB bootloader to STM32F103. Follow the instructions: +https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/stm32duino-bootloader + +- Start the Arduino IDE. Open the MMDVM_HS.ino file in the MMDVM_HS folder. + +- Under the menu "Tools" select "Board" and then select: +Board: Generic STM32F103C Series +Variant: STM32F103C8 (20k RAM, 64k Flash) +CPU Speed: 72 MHz (Normal) +Upload method: STM32duino bootloader (you have transfered the USB bootloader before) +Serial port: COMx (Maple Mini) + +- Edit Config.h according your board: +#define PI_HAT_7021_REV_03 (only if your board is ZUMSpot USB) +#define ADF7021_CARRIER_BOARD (only if your board is ZUMSpot Libre Kit) +#define ENABLE_ADF7021 +#define ADF7021_N_VER (only if your board uses ADF7021N) +#define BIDIR_DATA_PIN +#define ADF7021_14_7456 +#define STM32_USB_HOST +#define ENABLE_SCAN_MODE + +- Click the Upload button in the IDE and wait for the transfer. + +* Linux Raspbian: +cd ~ +- Install the necessary software tools: +sudo apt-get update +sudo apt-get install gcc-arm-none-eabi gdb-arm-none-eabi + +- Download the sources: +git clone https://github.com/juribeparada/MMDVM_HS +cd MMDVM_HS/ +git clone https://github.com/juribeparada/STM32F10X_Lib + +- Edit Config.h +nano Config.h +(and enable): +#define PI_HAT_7021_REV_03 (only if your board is ZUMSpot USB) +#define ADF7021_CARRIER_BOARD (only if your board is ZUMSpot Libre Kit) +#define ENABLE_ADF7021 +#define ADF7021_N_VER (only if your board uses ADF7021N) +#define BIDIR_DATA_PIN +#define ADF7021_14_7456 +#define STM32_USB_HOST +#define ENABLE_SCAN_MODE + +- Build the firmware with bootloader support: +make bl + +- Upload bootloader and firmware to ZUMSpot USB board, using serial port first (you +are using an USB-serial converter with device name /dev/ttyUSB0): + +Hold BOOT0 (or move BOOT0 jumper to 1), next press and release RESET + +sudo make serial-bl devser=/dev/ttyUSB0 + +Release BOOT0 (or move BOOT0 jumper to 0) + +- For following firmware updates, you could use the USB port directly: +sudo make dfu devser=/dev/ttyACM0 + +* Install MMDVMHost: +cd ~ +git clone https://github.com/g4klx/MMDVMHost/ +cd MMDVMHost/ +make + +- Edit MMDVM.ini according your preferences +nano MMDVM.ini +(use Port=/dev/ttyACM0 in [Modem]) + +- Execute MMDVMHost: +./MMDVMHost MMDVM.ini 3) Makefile options: @@ -145,5 +226,91 @@ sudo make zumspot-pi 4) Config.h options: -coming soon... +#define PI_HAT_7021_REV_02: enable pinouts for first revision of ZUMSpot Pi. In general is +not used. + +#define PI_HAT_7021_REV_03: enable pinouts support for ZUMSpot Pi or ZUMSpot USB. You have +to enable this option if you have one of these products. + +#define ADF7021_CARRIER_BOARD: enable this option if you have a ZUMSpot Libre Kit (Board with +modified RF7021SE and Blue Pill STM32F103). + +#define ENABLE_ADF7021: add support for ADF7021 (all boards, enabled by default). + +#define ADF7021_N_VER: enable support for narrow band version of ADF7021 (ADF7021N). Disabled +by default, in general all boards will have just ADF7021. + +#define DUPLEX: enable duplex mode with dual ADF7021. It is still under development. + +#define BIDIR_DATA_PIN: enable Standard TX/RX Data Interface of ADF7021 (enabled by default, +needed for scanning mode detection feature). + +#define ADF7021_14_7456: select this option if your board uses a 14.7456 MHz (enabled by default). + +#define ADF7021_12_2880: select this option if your board uses a 12.2880 MHz. + +#define ADF7021_ENABLE_4FSK_AFC: enable AFC support for DMR, YSF and P25. This is experimental, +depending on your frequency offset this option will improve or not your BER reception. + +#define ADF7021_AFC_POS: enable this option if you can not receive any signal after enable the +ADF7021_ENABLE_4FSK_AFC option. + +#define STM32_USART1_HOST: enable direct serial host communication with ZUMSpot (using USART1 +PA9 and PA10 pins). Disable STM32_USB_HOST if you enable this option. Enable this if you have +a ZUMSpot Pi. You don't need to enable this option if you will transfer the bootloader. + +#define STM32_USB_HOST: enable USB host communication with ZUMSpot (using STM32F103 USB +interface). Disable STM32_USART1_HOST if you enable this option. Enable this if you have +a ZUMSpot USB or ZUMSpot Libre Kit. + +#define ENABLE_SCAN_MODE: enable automatic mode detection in ZUMSpot. This is based on +scanning over all enabled modes, and you could have some detection delay. Enabled by default. + +#define SEND_RSSI_DATA: enable RSSI reports to MMDVMHost. It is already converted to dBm. + +#define SERIAL_REPEATER: enable a second serial port (USART2, pins PA2 and PA3) for Nextion +LCD display. + +Pinout definitions for ZUMSpot Libre Kit (Carrier board): +========================================================= +- Main RF7021SE board: +CE PC14 +SLE PB8 +SREAD PB7 +SDATA PB6 +SCLK PB5 +DATA PB4 (TxRxData) +DCLK PB3 (TxRxCLK) +CLKOUT PA15 (jumper wire in RF7021SE) +PAC PB14 (PTT LED) +VCC 3.3 V +GND Ground + +- Second RF7021SE board (duplex mode, experimental): +SLE PA6 +DATA PA4 +DCLK PA5 +PAC NC +CLKOUT NC +VCC 3.3 V +GND Ground + +SDATA, SREAD, SCLK and CE are shared with the main ADF7021. + +- Serial ports: +TXD PA9 (serial port host communication) +RXD PA10 (serial port host communication) +DISP_TXD PA2 (Nextion LCD serial repeater) +DISP_RXD PA3 (Nextion LCD serial repeater) + +- Status LEDs: +COS_LED PB15 +PTT_LED PB14 +P25_LED PB0 +YSF_LED PB1 +DMR_LED PB13 +DSTAR_LED PB12 +- Misc pins: +PIN_LED PC13 (status led) +PIN_DEB PB9 (debugging pin)