remove library control of button
This commit is contained in:
parent
7427b426b1
commit
76a92a882f
|
@ -5,14 +5,12 @@
|
||||||
|
|
||||||
#include "Arduino.h"
|
#include "Arduino.h"
|
||||||
#include "HamShield.h"
|
#include "HamShield.h"
|
||||||
#include <avr/wdt.h>
|
|
||||||
#include <avr/pgmspace.h>
|
#include <avr/pgmspace.h>
|
||||||
// #include <PCM.h>
|
// #include <PCM.h>
|
||||||
|
|
||||||
/* don't change this regulatory value, use dangerMode() and safeMode() instead */
|
/* don't change this regulatory value, use dangerMode() and safeMode() instead */
|
||||||
|
|
||||||
bool restrictions = true;
|
bool restrictions = true;
|
||||||
HamShield *HamShield::sHamShield = NULL;
|
|
||||||
|
|
||||||
/* channel lookup tables */
|
/* channel lookup tables */
|
||||||
|
|
||||||
|
@ -115,11 +113,6 @@ const unsigned char AFSK_mark[] PROGMEM = { 154, 249, 91, 11, 205, 216, 25, 68,
|
||||||
const unsigned char AFSK_space[] PROGMEM = { 140, 228, 250, 166, 53, 0, 53, 166, 249, 230, 128, 24, 7, 88, 203, 255, 203, 88, 7, 24, 128, 230, 249, 167, 53, 0, 53, 167, 249, 230, 128, 24, 6, 88, 202, 255, 202, 88, 6, 24, 127, 231, 249, 167, 52, 0, 52, 167, 248, 231, 127, 25, 6, 89, 202, 255, 202, 89, 6, 25, 127, 231, 248, 167, 53, 0, 54, 165, 251, 227, 133, 14};
|
const unsigned char AFSK_space[] PROGMEM = { 140, 228, 250, 166, 53, 0, 53, 166, 249, 230, 128, 24, 7, 88, 203, 255, 203, 88, 7, 24, 128, 230, 249, 167, 53, 0, 53, 167, 249, 230, 128, 24, 6, 88, 202, 255, 202, 88, 6, 24, 127, 231, 249, 167, 52, 0, 52, 167, 248, 231, 127, 25, 6, 89, 202, 255, 202, 89, 6, 25, 127, 231, 248, 167, 53, 0, 54, 165, 251, 227, 133, 14};
|
||||||
|
|
||||||
|
|
||||||
/* Aux button variables */
|
|
||||||
|
|
||||||
volatile int ptt = false;
|
|
||||||
volatile long bouncer = 0;
|
|
||||||
|
|
||||||
/** Specific address constructor.
|
/** Specific address constructor.
|
||||||
* @param chip select pin for HamShield
|
* @param chip select pin for HamShield
|
||||||
* @see A1846S_DEFAULT_ADDRESS
|
* @see A1846S_DEFAULT_ADDRESS
|
||||||
|
@ -1520,39 +1513,6 @@ uint32_t HamShield::findWhitespaceChannels(uint32_t buffer[],uint8_t buffsize, u
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Setup the auxiliary button input mode and register the ISR */
|
|
||||||
void HamShield::buttonMode(uint8_t mode) {
|
|
||||||
pinMode(HAMSHIELD_AUX_BUTTON,INPUT); // set the pin mode to input
|
|
||||||
digitalWrite(HAMSHIELD_AUX_BUTTON,HIGH); // turn on internal pull up
|
|
||||||
if(mode == PTT_MODE) { attachInterrupt(HAMSHIELD_AUX_BUTTON, HamShield::isr_ptt, CHANGE); }
|
|
||||||
if(mode == RESET_MODE) { attachInterrupt(HAMSHIELD_AUX_BUTTON, HamShield::isr_reset, CHANGE); }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Interrupt routines */
|
|
||||||
|
|
||||||
/* handle aux button to reset condition */
|
|
||||||
|
|
||||||
void HamShield::isr_reset() {
|
|
||||||
wdt_enable(WDTO_15MS);
|
|
||||||
while(1) { }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Transmit on press, receive on release. We need debouncing !! */
|
|
||||||
|
|
||||||
void HamShield::isr_ptt() {
|
|
||||||
if((bouncer + 200) > millis()) {
|
|
||||||
if(ptt == false) {
|
|
||||||
ptt = true;
|
|
||||||
sHamShield->setModeTransmit();
|
|
||||||
bouncer = millis();
|
|
||||||
}
|
|
||||||
if(ptt == true) {
|
|
||||||
ptt = false;
|
|
||||||
sHamShield->setModeReceive();
|
|
||||||
bouncer = millis();
|
|
||||||
} }
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
Radio etiquette function: Wait for empty channel.
|
Radio etiquette function: Wait for empty channel.
|
||||||
|
@ -1805,21 +1765,3 @@ bool HamShield::parityCalc(int code) {
|
||||||
|
|
||||||
return parity;
|
return parity;
|
||||||
}
|
}
|
||||||
/*
|
|
||||||
void HamShield::AFSKOut(char buffer[80]) {
|
|
||||||
for(int x = 0; x < 65536; x++) {
|
|
||||||
startPlayback(AFSK_mark, sizeof(AFSK_mark)); delay(8);
|
|
||||||
startPlayback(AFSK_space, sizeof(AFSK_space)); delay(8); }
|
|
||||||
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
// This is the ADC timer handler. When enabled, we'll see what we're supposed
|
|
||||||
// to be reading/handling, and trigger those on the main object.
|
|
||||||
/*ISR(ADC_vect) {
|
|
||||||
TIFR1 = _BV(ICF1); // Clear the timer flag
|
|
||||||
|
|
||||||
if(HamShield::sHamShield->afsk.enabled()) {
|
|
||||||
HamShield::sHamShield->afsk.timer();
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
Loading…
Reference in New Issue