diff --git a/.vscode/arduino.json b/.vscode/arduino.json index 082eeca..d4b6514 100644 --- a/.vscode/arduino.json +++ b/.vscode/arduino.json @@ -1,6 +1,7 @@ { - "board": "STMicroelectronics:stm32:GenF1", + "board": "STMicroelectronics:stm32:GenF4", "port": "COM17", "prebuild": "if exist bin rd /s /q bin", - "sketch": "IR-protocol.ino" + "sketch": "IR-protocol.ino", + "configuration": "clock=25MHz,pnum=MAKET_F401RETX,upload_method=swdMethod,xserial=generic,usb=CDCgen,xusb=FS,opt=osstd,dbg=none,rtlib=nano" } \ No newline at end of file diff --git a/IR-protocol.ino b/IR-protocol.ino index ad8d3f1..56005d9 100644 --- a/IR-protocol.ino +++ b/IR-protocol.ino @@ -4,22 +4,22 @@ #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 PIN_KT1_IN +#define dec1_PIN PIN_KT2_IN +#define dec2_PIN PIN_KT3_IN +#define dec3_PIN PIN_KT4_IN +#define dec4_PIN PIN_KT5_IN +#define dec5_PIN PIN_KT6_IN +#define dec6_PIN PIN_KT7_IN +#define dec7_PIN PIN_KT8_IN +// #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 LoopOut PC13 @@ -31,9 +31,9 @@ #define decPinMode(n) pinMode(dec##n##_PIN, INPUT_PULLUP); #define decAttach(n) attachInterrupt(dec##n##_PIN, dec_##n##_ISR, CHANGE); -#define decSetup(n) /* decPinMode(n); */ decAttach(n); +#define decSetup(n) decPinMode(n); decAttach(n); #define decTick(n) dec##n.tick(); -#define decStat(n) rx_flag |= statusSimple(dec##n); +#define decStat(n) rx_flag |= status/* Simple */(dec##n); //////////////// Ini ///////////////// @@ -43,10 +43,10 @@ //////////////// Var ///////////////// // IR_Encoder encForward(PA5, 42 /* , &decBackward */); -IR_Encoder enc0(PA0, 42 /* , &decBackward */); -IR_Encoder enc1(PA1, 127 /* , &decBackward */); -IR_Encoder enc2(PA2, 137 /* , &decBackward */); -IR_Encoder enc3(PA3, 777 /* , &decBackward */); +IR_Encoder enc0(PIN_KT8_OUT, 42 /* , &decBackward */); +// IR_Encoder enc1(PA1, 127 /* , &decBackward */); +// IR_Encoder enc2(PA2, 137 /* , &decBackward */); +// IR_Encoder enc3(PA3, 777 /* , &decBackward */); // IR_Encoder enc10(PA4, 555 /* , &decBackward */); // IR_Encoder enc11(PC14, 127 /* , &decBackward */); // IR_Encoder enc12(PC13, 137 /* , &decBackward */); @@ -71,12 +71,12 @@ dec_Ini(4); dec_Ini(5); dec_Ini(6); dec_Ini(7); -dec_Ini(8); -dec_Ini(9); -dec_Ini(10); -dec_Ini(11); -dec_Ini(12); -dec_Ini(13); +// dec_Ini(8); +// dec_Ini(9); +// dec_Ini(10); +// dec_Ini(11); +// dec_Ini(12); +// dec_Ini(13); ///////////////////////////////////////////////////////////////////// uint8_t data0[] = {}; @@ -91,10 +91,10 @@ uint16_t targetAddr = IR_Broadcast; Timer t1(500, millis, []() { // Serial.println( digitalPinToBitMask(enc0.getPin()), BIN); - enc0.sendData(IR_Broadcast, data4, sizeof(data4)); - enc1.sendData(IR_Broadcast, data3, sizeof(data3)); - enc2.sendData(IR_Broadcast, data2, sizeof(data2)); - enc3.sendData(IR_Broadcast, data1, sizeof(data1)); + // enc0.sendData(IR_Broadcast, data4, sizeof(data4)); + // 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)); // enc11.sendData(IR_Broadcast, data3, sizeof(data3)); // enc12.sendData(IR_Broadcast, data2, sizeof(data2)); @@ -203,7 +203,7 @@ void setup() pinMode(LoopOut, OUTPUT); // pinMode(SignalDetectLed, OUTPUT); - pinMode(dec1_PIN, INPUT_PULLUP); + pinMode(dec0_PIN, INPUT_PULLUP); // pinMode(dec2_PIN, INPUT_PULLUP); static IR_DecoderRaw *blind[]{ @@ -215,34 +215,34 @@ void setup() &dec5, &dec6, &dec7, - &dec8, - &dec9, - &dec10, - &dec11, - &dec12, - &dec13, + // &dec8, + // &dec9, + // &dec10, + // &dec11, + // &dec12, + // &dec13, }; - // enc0.setBlindDecoders(blind, sizeof(blind) / sizeof(IR_DecoderRaw *)); + enc0.setBlindDecoders(blind, sizeof(blind) / sizeof(IR_DecoderRaw *)); // enc1.setBlindDecoders(blind, sizeof(blind) / sizeof(IR_DecoderRaw *)); // enc2.setBlindDecoders(blind, sizeof(blind) / sizeof(IR_DecoderRaw *)); // enc3.setBlindDecoders(blind, sizeof(blind) / sizeof(IR_DecoderRaw *)); // enc10.setBlindDecoders(blind, sizeof(blind) / sizeof(IR_DecoderRaw *)); decSetup(0); - // decSetup(1); - // decSetup(2); - // decSetup(3); - // decSetup(4); - // decSetup(5); - // decSetup(6); - // decSetup(7); + decSetup(1); + decSetup(2); + decSetup(3); + decSetup(4); + decSetup(5); + decSetup(6); + decSetup(7); // decSetup(8); // decSetup(9); // decSetup(10); - decSetup(11); - decSetup(12); - decSetup(13); + // decSetup(11); + // decSetup(12); + // decSetup(13); } void loop() @@ -261,12 +261,12 @@ void loop() decStat(5); decStat(6); decStat(7); - decStat(8); - decStat(9); - decStat(10); - decStat(11); - decStat(12); - decStat(13); + // decStat(8); + // decStat(9); + // decStat(10); + // decStat(11); + // decStat(12); + // decStat(13); // status(decForward); // status(decBackward); @@ -321,7 +321,7 @@ void detectSignal() } // test -void status(IR_Decoder &dec) +bool status(IR_Decoder &dec) { if (dec.gotData.available()) { @@ -572,4 +572,5 @@ void status(IR_Decoder &dec) // obj->resetAvailable(); Serial.write(str.c_str()); } + return false; } diff --git a/IR_DecoderRaw.cpp b/IR_DecoderRaw.cpp index 997b54a..c878447 100644 --- a/IR_DecoderRaw.cpp +++ b/IR_DecoderRaw.cpp @@ -58,7 +58,7 @@ void IR_DecoderRaw::isr() interrupts(); if (time_ < oldTime) { -#ifdef IRDEBUG +#ifdef IRDEBUG/* 1 */ Serial.print("\n"); Serial.print("count: "); Serial.println(wrongCounter++);