This commit is contained in:
2024-05-27 10:53:44 +03:00
parent 2147bf0788
commit e8e2cd60c2
6 changed files with 60 additions and 42 deletions

View File

@ -1,27 +1,27 @@
#include "IR_Decoder.h"
#include "IR_Encoder.h"
#include "TimerStatic.h"
#include "MemoryCheck.h"
// #include "MemoryCheck.h"
/////////////// Pinout ///////////////
#define dec0_PIN PB0
#define dec1_PIN PB1
#define dec2_PIN PA2
#define dec3_PIN PB3
#define dec4_PIN PB4
#define dec5_PIN PB5
#define dec6_PIN PB6
#define dec7_PIN PB7
#define dec8_PIN PB8
#define dec9_PIN PB9
#define dec10_PIN PB10
#define dec11_PIN PB11
#define dec12_PIN PB12
#define dec13_PIN PB13
#define dec14_PIN PB14
#define dec15_PIN PB15
#define dec0_PIN 0
#define dec1_PIN 1
#define dec2_PIN 2
#define dec3_PIN 3
#define dec4_PIN 4
#define dec5_PIN 5
#define dec6_PIN 6
#define dec7_PIN 7
#define dec8_PIN 8
#define dec9_PIN 9
#define dec10_PIN 10
#define dec11_PIN 11
#define dec12_PIN 12
#define dec13_PIN 13
#define dec14_PIN 14
#define dec15_PIN 15
#define LoopOut PA7
#define LoopOut 16
#define dec_ISR(n) \
void dec_##n##_ISR() { dec##n.isr(); }
@ -35,6 +35,10 @@
#define decTick(n) dec##n.tick();
#define decStat(n) rx_flag |= statusSimple(dec##n);
void digitalToggle(uint8_t pin){
digitalWrite(pin, !digitalRead(pin));
}
//////////////// Ini /////////////////
#define INFO "IR_FOX TEST"
@ -43,11 +47,11 @@
//////////////// Var /////////////////
// IR_Encoder encForward(PA5, 42 /* , &decBackward */);
IR_Encoder enc0(PA5, 42 /* , &decBackward */);
IR_Encoder enc1(PA4, 127 /* , &decBackward */);
IR_Encoder enc2(PA3, 137 /* , &decBackward */);
IR_Encoder enc3(PA0, 777 /* , &decBackward */);
IR_Encoder enc10(PC15, 555 /* , &decBackward */);
IR_Encoder enc0(18, 42 /* , &decBackward */);
IR_Encoder enc1(19, 127 /* , &decBackward */);
IR_Encoder enc2(20, 137 /* , &decBackward */);
IR_Encoder enc3(21, 777 /* , &decBackward */);
// IR_Encoder enc10(PC15, 555 /* , &decBackward */);
// IR_Encoder enc11(PC14, 127 /* , &decBackward */);
// IR_Encoder enc12(PC13, 137 /* , &decBackward */);
// IR_Encoder enc13(PA12, 777 /* , &decBackward */);
@ -59,6 +63,8 @@ IR_Encoder enc10(PC15, 555 /* , &decBackward */);
void EncoderISR()
{
IR_Encoder::isr();
// digitalToggle(LoopOut);
}
//-------------------------------------------------------------------
@ -95,7 +101,7 @@ Timer t1(500, millis, []()
enc1.sendData(IR_Broadcast, data3, sizeof(data3));
enc2.sendData(IR_Broadcast, data2, sizeof(data2));
enc3.sendData(IR_Broadcast, data1, sizeof(data1));
enc10.sendData(IR_Broadcast, data4, sizeof(data4));
// enc10.sendData(IR_Broadcast, data4, sizeof(data4));
// enc11.sendData(IR_Broadcast, data3, sizeof(data3));
// enc12.sendData(IR_Broadcast, data2, sizeof(data2));
// enc13.sendData(IR_Broadcast, data1, sizeof(data1));
@ -186,16 +192,24 @@ Timer t1(500, millis, []()
Timer signalDetectTimer;
/////////////////////////////////////////////////////////////////////
HardwareTimer IR_Timer(TIM3);
// HardwareTimer IR_Timer(TIM3);
// RPI_PICO_Timer IR_Timer(0);
struct repeating_timer timer;
bool TimerISRHandler(struct repeating_timer *t){
(void) t;
EncoderISR();
return true;
}
void setup()
{
// MicrosTimer.setOve
add_repeating_timer_us(8, TimerISRHandler, NULL, &timer);
IR_Timer.setOverflow(carrierFrec * 2, HERTZ_FORMAT);
IR_Timer.attachInterrupt(1, EncoderISR);
NVIC_SetPriority(IRQn_Type::TIM3_IRQn, 0);
IR_Timer.resume();
// IR_Timer.setOverflow(carrierFrec * 2, HERTZ_FORMAT);
// IR_Timer.attachInterrupt(1, EncoderISR);
// NVIC_SetPriority(IRQn_Type::TIM3_IRQn, 0);
// IR_Timer.resume();
Serial.begin(SERIAL_SPEED);
Serial.println(F(INFO));
@ -294,6 +308,7 @@ void loop()
sig = in;
break;
}
Serial.println(in);
}
}
Timer statusSimpleDelay;