f401 MAKET

This commit is contained in:
DashyFox 2024-12-23 17:36:35 +03:00
parent cf5a6641f4
commit e6dbdcee74
3 changed files with 62 additions and 60 deletions

View File

@ -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"
}

View File

@ -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;
}

View File

@ -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++);