merge RPi branch in, add Feather nRF52840 Express example BLE sketch
This commit is contained in:
		
						commit
						f83b547de4
					
				| 
						 | 
					@ -125,7 +125,7 @@ const unsigned char AFSK_space[] PROGMEM = { 140, 228, 250, 166, 53, 0, 53, 166,
 | 
				
			||||||
 * @see A1846S_ADDRESS_AD0_LOW
 | 
					 * @see A1846S_ADDRESS_AD0_LOW
 | 
				
			||||||
 * @see A1846S_ADDRESS_AD0_HIGH
 | 
					 * @see A1846S_ADDRESS_AD0_HIGH
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
HamShield::HamShield(uint8_t ncs_pin = nCS, uint8_t clk_pin = CLK, uint8_t dat_pin = DAT, uint8_t mic_pin = MIC) {
 | 
					HamShield::HamShield(uint8_t ncs_pin, uint8_t clk_pin, uint8_t dat_pin, uint8_t mic_pin) {
 | 
				
			||||||
    devAddr = ncs_pin;
 | 
					    devAddr = ncs_pin;
 | 
				
			||||||
    hs_mic_pin = mic_pin;
 | 
					    hs_mic_pin = mic_pin;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -240,14 +240,16 @@ class HamShield {
 | 
				
			||||||
        bool frequency_float(float freq_khz);
 | 
					        bool frequency_float(float freq_khz);
 | 
				
			||||||
		uint32_t getFrequency();
 | 
							uint32_t getFrequency();
 | 
				
			||||||
		float getFrequency_float();
 | 
							float getFrequency_float();
 | 
				
			||||||
			
 | 
							
 | 
				
			||||||
 | 
					                /* ToDo	
 | 
				
			||||||
		// channel mode
 | 
							// channel mode
 | 
				
			||||||
		// 11 - 25kHz channel
 | 
							// 11 - 25kHz channel
 | 
				
			||||||
		// 00 - 12.5kHz channel
 | 
							// 00 - 12.5kHz channel
 | 
				
			||||||
		// 10,01 - reserved
 | 
							// 10,01 - reserved
 | 
				
			||||||
		void setChanMode(uint16_t mode);
 | 
							void setChanMode(uint16_t mode);
 | 
				
			||||||
		uint16_t getChanMode();
 | 
							uint16_t getChanMode();
 | 
				
			||||||
		
 | 
							*/
 | 
				
			||||||
 | 
						
 | 
				
			||||||
		void setModeTransmit(); // turn off rx, turn on tx
 | 
							void setModeTransmit(); // turn off rx, turn on tx
 | 
				
			||||||
		void setModeReceive(); // turn on rx, turn off tx
 | 
							void setModeReceive(); // turn on rx, turn off tx
 | 
				
			||||||
		void setModeOff(); // turn off rx, turn off tx, set pwr_dwn bit
 | 
							void setModeOff(); // turn off rx, turn off tx, set pwr_dwn bit
 | 
				
			||||||
| 
						 | 
					@ -265,6 +267,7 @@ class HamShield {
 | 
				
			||||||
		void setTxSourceNone();
 | 
							void setTxSourceNone();
 | 
				
			||||||
		uint16_t getTxSource();
 | 
							uint16_t getTxSource();
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
 | 
							/*
 | 
				
			||||||
		// PA bias voltage is unused (maybe remove this)
 | 
							// PA bias voltage is unused (maybe remove this)
 | 
				
			||||||
		// set PA_bias voltage
 | 
							// set PA_bias voltage
 | 
				
			||||||
		//    000000: 1.01V
 | 
							//    000000: 1.01V
 | 
				
			||||||
| 
						 | 
					@ -277,6 +280,7 @@ class HamShield {
 | 
				
			||||||
		//    1111111:3.13V
 | 
							//    1111111:3.13V
 | 
				
			||||||
		void setPABiasVoltage(uint16_t voltage);
 | 
							void setPABiasVoltage(uint16_t voltage);
 | 
				
			||||||
		uint16_t getPABiasVoltage();
 | 
							uint16_t getPABiasVoltage();
 | 
				
			||||||
 | 
							*/
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		// Subaudio settings
 | 
							// Subaudio settings
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
| 
						 | 
					@ -475,9 +479,7 @@ class HamShield {
 | 
				
			||||||
        uint32_t findWhitespace(uint32_t start,uint32_t stop, uint8_t dwell, uint16_t step, uint16_t threshold);
 | 
					        uint32_t findWhitespace(uint32_t start,uint32_t stop, uint8_t dwell, uint16_t step, uint16_t threshold);
 | 
				
			||||||
        uint32_t scanChannels(uint32_t buffer[],uint8_t buffsize, uint8_t speed, uint16_t threshold);
 | 
					        uint32_t scanChannels(uint32_t buffer[],uint8_t buffsize, uint8_t speed, uint16_t threshold);
 | 
				
			||||||
        uint32_t findWhitespaceChannels(uint32_t buffer[],uint8_t buffsize, uint8_t dwell, uint16_t threshold);
 | 
					        uint32_t findWhitespaceChannels(uint32_t buffer[],uint8_t buffsize, uint8_t dwell, uint16_t threshold);
 | 
				
			||||||
        void buttonMode(uint8_t mode);
 | 
					
 | 
				
			||||||
        static void isr_ptt();
 | 
					 | 
				
			||||||
        static void isr_reset();
 | 
					 | 
				
			||||||
		unsigned int getMorseFreq();
 | 
							unsigned int getMorseFreq();
 | 
				
			||||||
		void setMorseFreq(unsigned int morse_freq_hz);
 | 
							void setMorseFreq(unsigned int morse_freq_hz);
 | 
				
			||||||
		unsigned int getMorseDotMillis();
 | 
							unsigned int getMorseDotMillis();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,10 +4,6 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "HamShield_comms.h"
 | 
					#include "HamShield_comms.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "Arduino.h"
 | 
					 | 
				
			||||||
//#include "I2Cdev.h"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
uint8_t ncs_pin = nCS;
 | 
					uint8_t ncs_pin = nCS;
 | 
				
			||||||
uint8_t clk_pin = CLK;
 | 
					uint8_t clk_pin = CLK;
 | 
				
			||||||
uint8_t dat_pin = DAT;
 | 
					uint8_t dat_pin = DAT;
 | 
				
			||||||
| 
						 | 
					@ -16,6 +12,10 @@ void HSsetPins(uint8_t ncs, uint8_t clk, uint8_t dat) {
 | 
				
			||||||
    ncs_pin = ncs;
 | 
					    ncs_pin = ncs;
 | 
				
			||||||
    clk_pin = clk;
 | 
					    clk_pin = clk;
 | 
				
			||||||
    dat_pin = dat;
 | 
					    dat_pin = dat;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined(ARDUINO)    
 | 
				
			||||||
 | 
					    wiringPiSetup();
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    pinMode(ncs_pin, OUTPUT);
 | 
					    pinMode(ncs_pin, OUTPUT);
 | 
				
			||||||
    digitalWrite(ncs_pin, HIGH);
 | 
					    digitalWrite(ncs_pin, HIGH);
 | 
				
			||||||
| 
						 | 
					@ -147,11 +147,21 @@ void HSdelayMicroseconds(unsigned int us) {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void HStone(uint8_t pin, unsigned int frequency) {
 | 
					void HStone(uint8_t pin, unsigned int frequency) {
 | 
				
			||||||
 | 
					#if defined(ARDUINO_ARCH_NRF52)
 | 
				
			||||||
 | 
					//TODO
 | 
				
			||||||
 | 
					#elif defined(ARDUINO)
 | 
				
			||||||
    tone(pin, frequency);
 | 
					    tone(pin, frequency);
 | 
				
			||||||
}
 | 
					#else
 | 
				
			||||||
void HStone(uint8_t pin, unsigned int frequency, unsigned long duration) {
 | 
					    softToneCreate(pin);
 | 
				
			||||||
    tone(pin, frequency, duration);
 | 
					    softToneWrite(pin, frequency);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
void HSnoTone(uint8_t pin) {
 | 
					void HSnoTone(uint8_t pin) {
 | 
				
			||||||
 | 
					#if defined(ARDUINO_ARCH_NRF52)
 | 
				
			||||||
 | 
					//TODO
 | 
				
			||||||
 | 
					#elif defined(ARDUINO)
 | 
				
			||||||
    noTone(pin);
 | 
					    noTone(pin);
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					    softToneWrite(pin, 0);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -4,13 +4,24 @@
 | 
				
			||||||
#ifndef _HAMSHIELD_COMMS_H_
 | 
					#ifndef _HAMSHIELD_COMMS_H_
 | 
				
			||||||
#define _HAMSHIELD_COMMS_H_
 | 
					#define _HAMSHIELD_COMMS_H_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "stdint.h"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(ARDUINO)
 | 
				
			||||||
#include "Arduino.h"
 | 
					#include "Arduino.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define nCS A1 //15 //
 | 
					#define nCS A1 //15 //
 | 
				
			||||||
#define CLK A5 //19 //
 | 
					#define CLK A5 //19 //
 | 
				
			||||||
#define DAT A4 //18 //
 | 
					#define DAT A4 //18 //
 | 
				
			||||||
#define MIC 3    // Pin assignment for PWM output
 | 
					#define MIC 3
 | 
				
			||||||
 | 
					#else // assume Raspberry Pi
 | 
				
			||||||
 | 
					#include "stdint.h"
 | 
				
			||||||
 | 
					#include <wiringPi.h>
 | 
				
			||||||
 | 
					#include <softTone.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define nCS 0 //BCM17, HW pin 11 
 | 
				
			||||||
 | 
					#define CLK 3 //BCM22, HW pin 15 
 | 
				
			||||||
 | 
					#define DAT 2 //BCM27, HW pin 13 
 | 
				
			||||||
 | 
					#define MIC 1 //BCM18, HW pin 12
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void HSsetPins(uint8_t ncs, uint8_t clk, uint8_t dat);
 | 
					void HSsetPins(uint8_t ncs, uint8_t clk, uint8_t dat);
 | 
				
			||||||
| 
						 | 
					@ -31,8 +42,7 @@ void HSdelay(unsigned long ms);
 | 
				
			||||||
void HSdelayMicroseconds(unsigned int us);
 | 
					void HSdelayMicroseconds(unsigned int us);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void HStone(uint8_t pin, unsigned int frequency);
 | 
					void HStone(uint8_t pin, unsigned int frequency);
 | 
				
			||||||
void HStone(uint8_t pin, unsigned int frequency, unsigned long duration);
 | 
					 | 
				
			||||||
void HSnoTone(uint8_t pin);
 | 
					void HSnoTone(uint8_t pin);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* _HAMSHIELD_COMMS_H_ */
 | 
					#endif /* _HAMSHIELD_COMMS_H_ */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue