Bed PowerMonitor II

This commit is contained in:
MRprusa3d 2018-11-07 13:38:39 +01:00
parent 18a8ae5b8f
commit 4ae857136d
1 changed files with 15 additions and 6 deletions

View File

@ -33,8 +33,13 @@
const char ERRMSG_PAT9125_NOT_RESP[] PROGMEM = "PAT9125 not responding (%d)!\n"; const char ERRMSG_PAT9125_NOT_RESP[] PROGMEM = "PAT9125 not responding (%d)!\n";
#define FSENSOR_INT_PIN 74 //!< filament sensor interrupt pin PJ7 #define FSENSOR_INT_PIN 75 //!< filament sensor interrupt pin PJ4
#define FSENSOR_INT_PIN_MSK 0x80 //!< filament sensor interrupt pin mask (bit7) #define FSENSOR_INT_PIN_MASK 0x10 //!< filament sensor interrupt pin mask (bit4)
#define FSENSOR_INT_PIN_VECT PCINT1_vect
#define FSENSOR_INT_PIN_PIN_REG PINJ
#define FSENSOR_INT_PIN_PCMSK_REG PCMSK1
#define FSENSOR_INT_PIN_PCMSK_BIT PCINT13
#define FSENSOR_INT_PIN_PCICR_BIT PCIE1
//uint8_t fsensor_int_pin = FSENSOR_INT_PIN; //uint8_t fsensor_int_pin = FSENSOR_INT_PIN;
uint8_t fsensor_int_pin_old = 0; uint8_t fsensor_int_pin_old = 0;
@ -352,10 +357,10 @@ bool fsensor_oq_result(void)
return res; return res;
} }
ISR(PCINT2_vect) ISR(FSENSOR_INT_PIN_VECT)
{ {
if (!((fsensor_int_pin_old ^ PINK) & FSENSOR_INT_PIN_MSK)) return; if (!((fsensor_int_pin_old ^ FSENSOR_INT_PIN_PIN_REG) & FSENSOR_INT_PIN_MASK)) return;
fsensor_int_pin_old = PINK; fsensor_int_pin_old = FSENSOR_INT_PIN_PIN_REG;
static bool _lock = false; static bool _lock = false;
if (_lock) return; if (_lock) return;
_lock = true; _lock = true;
@ -525,5 +530,9 @@ void fsensor_setup_interrupt(void)
digitalWrite(FSENSOR_INT_PIN, LOW); digitalWrite(FSENSOR_INT_PIN, LOW);
fsensor_int_pin_old = 0; fsensor_int_pin_old = 0;
pciSetup(FSENSOR_INT_PIN); //pciSetup(FSENSOR_INT_PIN);
// interrupt registers settings
FSENSOR_INT_PIN_PCMSK_REG|=bit(FSENSOR_INT_PIN_PCMSK_BIT);
PCIFR|=bit(FSENSOR_INT_PIN_PCICR_BIT);
PCICR|=bit(FSENSOR_INT_PIN_PCICR_BIT);
} }