PJSC(Pump Jet Solenoid Controller)はArduinoを使用したバイク用燃料噴射コントローラです。このプロジェクトは、オープンソースECUプロジェクト『Speeduino』をベースにしています。
[PJSC v1.03]スロットルスピード燃料カット(TPSdot DFCO)機能を追加。デジタル入力2をSMARTシフト入力に対応。
| @@ -311,7 +311,7 @@ | ||
| 311 | 311 | idleUpEnabled = bits, U08, 57, [7:7], "Off", "On" |
| 312 | 312 | idleUpAdder = scalar, U08, 58, "% / Steps" 1.0, 0.0, 0.0, 250.0, 0 |
| 313 | 313 | taeTaperMin = scalar, U08, 59, "RPM", 100, 0.0, 1000, 10000, 0 |
| 314 | - taeTaperMax = scalar, U08, 60, "RPM", 100, 0.0, 2000, 10000, 0 | |
| 314 | + taeTaperMax = scalar, U08, 60, "RPM", 100, 0.0, 2000, 25500, 0 | |
| 315 | 315 | |
| 316 | 316 | iacCLminDuty = scalar, U08, 61, "%", 1.0, 0.0, 0.0, 100.0, 0 ; Minimum and maximum duty cycles when using closed loop idle |
| 317 | 317 | iacCLmaxDuty = scalar, U08, 62, "%", 1.0, 0.0, 0.0, 100.0, 0 |
| @@ -322,8 +322,14 @@ | ||
| 322 | 322 | EMAPMin = scalar, S08, 67, "kpa", 1.0, 0.0, -100, 127.0, 0 |
| 323 | 323 | EMAPMax = scalar, U16, 68, "kpa", 1.0, 0.0, 0.0, 25500, 0 |
| 324 | 324 | |
| 325 | - fanWhenOff = bits, U08, 70, [0:0], "No", "Yes" | |
| 326 | - unused_fan_bits = bits, U08, 70,[1:7] | |
| 325 | + fanWhenOff = bits, U08, 70, [0:0], "No", "Yes" | |
| 326 | + dfcoTPSdotEnabled = bits, U08, 70, [1:1], "Off", "On" ;[PJSC v1.03] | |
| 327 | +;[PJSC v1.03] unused_fan_bits = bits, U08, 70,[1:7] | |
| 328 | + swIATcorrection = bits, U08, 70, [2:2], "Off", "On" ;[PJSC v1.03] | |
| 329 | + swTAE = bits, U08, 70, [3:3], "Off", "On" ;[PJSC v1.03] | |
| 330 | + swWUE = bits, U08, 70, [4:4], "Off", "On" ;[PJSC v1.03] | |
| 331 | + swCrankingEnrichment = bits, U08, 70, [5:5], "Off", "On" ;[PJSC v1.03] | |
| 332 | + unused_fan_bits = bits, U08, 70, [6:7] ;[PJSC v1.03] | |
| 327 | 333 | |
| 328 | 334 | ;[PJSC] unused2-67 = array, U08, 71, [56], "%", 1.0, 0.0, 0.0, 255, 0 |
| 329 | 335 | pjscFreq = scalar, U08, 71, "Hz", 2.0, 0.0, 10, 511, 0 ;[PJSC] |
| @@ -346,21 +352,13 @@ | ||
| 346 | 352 | ;[PJSC v1.03] exTrigModeSelect = bits, U08, 76, [0:1], "Disable", "Spark timing capture", "MAP select switch", "Misfire Detection" ;[PJSC] |
| 347 | 353 | ;[PJSC v1.03] externalTrigEdge = bits, U08, 76, [2:2], "Rising", "Falling" ; | |
| 348 | 354 | externalTrigEdge = bits, U08, 76, [3:3], "Rising", "Falling" ;[PJSC v1.03] |
| 349 | -;[PJSC v1.02] exValveCaptureEnabled = bits, U08, 76, [3:3], "Disable", "Exhaust Valve Position capture" ; | | |
| 350 | -;[PJSC v1.02] exValveCalibrationMode = bits, U08, 76, [4:4], "Off", "On" ;[PJSC] | |
| 351 | -;[PJSC v1.02] unused2_76 = bits, U08, 76, [5:7] ;[PJSC v1.01] | |
| 352 | -;[PJSC v1.03] exValveCalibrationMode = bits, U08, 76, [3:3], "Off", "On" ;[PJSC v1.02] | |
| 353 | 355 | analogInputPortSelect = bits, U08, 76, [4:5], "Disable", "Exhaust Valve Position capture", "Secondary AFR/O2", "INVALID" ;[PJSC v1.02] |
| 354 | 356 | analogInputPortSelect2 = bits, U08, 76, [6:7], "Disable", "Barometric sensor", "Exhaust Gas Temperature", "INVALID" ;[PJSC v1.03] |
| 355 | - dutyPulseCaptureEnabled = bits, U08, 77, [0:0], "Disable", "PWM input" ;[PJSC v1.01] | |
| 356 | - dutyPulseCaptureEnabled2 = bits, U08, 77, [1:1], "Disable", "PWM input" ; | | |
| 357 | - dutyPulseOnLevel = bits, U08, 77, [2:2], "High", "Low" ; | | |
| 358 | - dutyPulseOnLevel2 = bits, U08, 77, [3:3], "High", "Low" ; V | |
| 359 | -;[PJSC v1.03] unused2_77 = bits, U08, 77, [4:7] ;[PJSC v1.01] | |
| 360 | - swIATcorrection = bits, U08, 77, [4:4], "Off", "On" ;[PJSC v1.03] | |
| 361 | - swTAE = bits, U08, 77, [5:5], "Off", "On" ;[PJSC v1.03] | |
| 362 | - swWUE = bits, U08, 77, [6:6], "Off", "On" ;[PJSC v1.03] | |
| 363 | - swCrankingEnrichment = bits, U08, 77, [7:7], "Off", "On" ;[PJSC v1.03] | |
| 357 | + dutyPulseCaptureEnabled = bits, U08, 77, [0:1], "Disable", "PWM input", "SMART shift", "INVALID" ; | | |
| 358 | + dutyPulseCaptureEnabled2 = bits, U08, 77, [2:3], "Disable", "PWM input", "INVALID", "INVALID" ; | | |
| 359 | + dutyPulseOnLevel = bits, U08, 77, [4:4], "High", "Low" ; | | |
| 360 | + dutyPulseOnLevel2 = bits, U08, 77, [5:5], "High", "Low" ; V | |
| 361 | + unused2_77 = bits, U08, 77, [6:7] ;[PJSC v1.03] | |
| 364 | 362 | #if table4_spark ;[PJSC v1.01] For switching table4 |
| 365 | 363 | veMapSelection1Pri = bits, U08, 78, [0:3], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" |
| 366 | 364 | veMapSelection1Sec = bits, U08, 78, [4:7], "VE Table 1","VE Table 2","VE Table 3","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID","INVALID" |
| @@ -565,9 +563,9 @@ | ||
| 565 | 563 | #endif |
| 566 | 564 | iatRetRates = array, U08, 54, [ 6], "deg", 1.0, 0.0, 0.00, 255.0, 0 |
| 567 | 565 | ;Decelleration Fuel Cut Off (DFCO) |
| 568 | - dfcoRPM = scalar, U08, 60, "RPM", 10.0, 0.0, 100, 2550, 0 | |
| 569 | - dfcoHyster = scalar, U08, 61, "RPM", 1.0, 0.0, 100, 255.0, 0 | |
| 570 | - dfcoTPSThresh= scalar, U08, 62, "%", 1.0, 0.0, 0, 100.0, 0 | |
| 566 | + dfcoRPM = scalar, U08, 60, "RPM", 50.0, 0.0, 100, 12750, 0 | |
| 567 | + dfcoHyster = scalar, U08, 61, "RPM", 1.0, 0.0, 100, 255.0, 0 | |
| 568 | + dfcoTPSThresh= scalar, U08, 62, "%", 1.0, 0.0, 0, 100.0, 0 | |
| 571 | 569 | ;Cranking ignition bypass |
| 572 | 570 | ignBypassEnable = bits, U08, 63, [0:0], "Off", "On" |
| 573 | 571 | ignBypassPin = bits , U08, 63, [1:6], "INVALID", "INVALID", "INVALID", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID", "INVALID" |
| @@ -592,8 +590,14 @@ | ||
| 592 | 590 | misfireDetectThresh = scalar, U08, 91, "rpm", 10, 0.0, 100, 1000, 0 ;[PJSC v1.03] For misfire detection |
| 593 | 591 | numSpeedPulsePerRev = scalar, U08, 92, "pulse", 1, 0, 0, 255, 0 ;[PJSC v1.03] For capturing viecle speed |
| 594 | 592 | tireCircumference = scalar, U16, 93, "mm", 1, 0, 0, 65535, 0 ;[PJSC v1.03] For capturing viecle speed |
| 595 | - unused4-95 = array, U08, 95, [32], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.03] For misfire detection | |
| 596 | 593 | |
| 594 | + dfcoTPSdotThresh = scalar, S16, 95, "%/s", 1.0, 0.0, -2000, 0, 0 ;[PJSC v1.03] For TPSdot DFCO | |
| 595 | + dfcoTPSdotMulti = scalar, U08, 97, "%", 1.0, 0.0, 0.0, 100.0, 0 ;[PJSC v1.03] For TPSdot DFCO | |
| 596 | + dfcoTPSdotDuration = scalar, U08, 98, "ms", 1.0, 0.0, 0.0, 2550, 0 ;[PJSC v1.03] For TPSdot DFCO | |
| 597 | + dfcoTPSdotRPM = scalar, U08, 99, "RPM", 50.0, 0.0, 100, 12750, 0 ;[PJSC v1.03] For TPSdot DFCO | |
| 598 | + dfcoTPSdotTPSThresh = scalar, U08, 100, "%", 1, 0, 0, 100, 0 ;[PJSC v1.03] For TPSdot DFCO | |
| 599 | + unused4-101 = array, U08, 101, [26], "%", 1.0, 0.0, 0.0, 255, 0 ;[PJSC v1.03] For TPSdot DFCO | |
| 600 | + | |
| 597 | 601 | ;-------------------------------------------------- |
| 598 | 602 | ;Start AFR page |
| 599 | 603 | ;-------------------------------------------------- |
| @@ -2176,8 +2180,15 @@ | ||
| 2176 | 2180 | dialog = accelEnrichments_south, "Decelleration Fuel Cutoff (DFCO)" |
| 2177 | 2181 | field = "Enabled", dfcoEnabled |
| 2178 | 2182 | field = "TPS Threshold", dfcoTPSThresh, { dfcoEnabled } |
| 2179 | - field = "Cutoff RPM", dfcoRPM, { dfcoEnabled } | |
| 2183 | + field = "Cutoff RPM", dfcoRPM, { dfcoEnabled } | |
| 2180 | 2184 | field = "RPM Hysteresis", dfcoHyster, { dfcoEnabled } |
| 2185 | + field = "" ;[PJSC v1.03] For TPSdot DFCO | |
| 2186 | + field = "TPSdot DFCO", dfcoTPSdotEnabled ; | | |
| 2187 | + field = "TPSdot DFCO Threshold", dfcoTPSdotThresh, { dfcoTPSdotEnabled } ; | | |
| 2188 | + field = "TPSdot DFCO Multipiier", dfcoTPSdotMulti, { dfcoTPSdotEnabled } ; | | |
| 2189 | + field = "TPSdot DFCO Duration", dfcoTPSdotDuration, { dfcoTPSdotEnabled } ; | | |
| 2190 | + field = "TPSdot DFCO RPM", dfcoTPSdotRPM, { dfcoTPSdotEnabled } ; V | |
| 2191 | + field = "TPSdot DFCO TPS Threshold", dfcoTPSdotTPSThresh, { dfcoTPSdotEnabled } ;[PJSC v1.03] For TPSdot DFCO | |
| 2181 | 2192 | |
| 2182 | 2193 | dialog = accelEnrichments_north_south, "" |
| 2183 | 2194 | liveGraph = pump_ae_Graph, "AE Graph" |
| @@ -3949,6 +3960,7 @@ | ||
| 3949 | 3960 | |
| 3950 | 3961 | tpsADCGauge = tpsADC, "TPS ADC", "", 0, 255, -1, -1, 256, 256, 0, 0 |
| 3951 | 3962 | throttleGauge = throttle, "Throttle Position", "%TPS", 0, 100, -1, 1, 90, 100, 0, 0 |
| 3963 | + tpsDotGauge = TPSdot, "Throttle Velocity", "%/s", -2000, 2000, -1800, -1500, 1500, 1800, 0, 0 ;[PJSC v1.03] | |
| 3952 | 3964 | |
| 3953 | 3965 | afrGauge = afr, "Air:Fuel Ratio", "", 10, 18, 11, 12, 16, 17, 2, 2 |
| 3954 | 3966 | afrGauge2 = afr2, "Air:Fuel Ratio 2", "", 10, 18, 11, 12, 16, 17, 2, 2 |
| @@ -4073,7 +4085,7 @@ | ||
| 4073 | 4085 | ochGetCommand = "r\$tsCanId\x30%2o%2c" |
| 4074 | 4086 | ;[PJSC] ochBlockSize = 90 |
| 4075 | 4087 | ;[PJSC v1.03] ochBlockSize = 116 ;[PJSC v1.02] Extend block size |
| 4076 | - ochBlockSize = 132 ;[PJSC v1.03] Extend block size | |
| 4088 | + ochBlockSize = 133 ;[PJSC v1.03] Extend block size | |
| 4077 | 4089 | |
| 4078 | 4090 | secl = scalar, U08, 0, "sec", 1.000, 0.000 |
| 4079 | 4091 | status1 = scalar, U08, 1, "bits", 1.000, 0.000 |
| @@ -4110,8 +4122,9 @@ | ||
| 4110 | 4122 | veCurr = scalar, U08, 18, "%", 1.000, 0.000 |
| 4111 | 4123 | afrTarget = scalar, U08, 19, "O2", 0.100, 0.000 |
| 4112 | 4124 | pulseWidth = scalar, U16, 20, "ms", 0.001, 0.000 |
| 4113 | - TPSdot = scalar, U08, 22, "%/s", 10.00, 0.000 | |
| 4114 | - advance = scalar, S08, 23, "deg", 1.000, 0.000 | |
| 4125 | +;[PJSC v1.03] TPSdot = scalar, U08, 22, "%/s", 10.00, 0.000 | |
| 4126 | +;[PJSC v1.03] advance = scalar, S08, 23, "deg", 1.000, 0.000 | |
| 4127 | + TPSdot = scalar, S16, 22, "%/s", 10.00, 0.000 ;[PJSC v1.03] | |
| 4115 | 4128 | tps = scalar, U08, 24, "%", 1.000, 0.000 |
| 4116 | 4129 | loopsPerSecond = scalar, U16, 25, "loops", 1.000, 0.000 |
| 4117 | 4130 | freeRAM = scalar, U16, 27, "bytes", 1.000, 0.000 |
| @@ -4201,6 +4214,7 @@ | ||
| 4201 | 4214 | viecleSpeed = scalar, U16, 126, "km/h", 0.100, 0.000 ;[PJSC v1.03]For capturing viecle speed |
| 4202 | 4215 | dutyPulseOn_T = scalar, U16, 128, "ms", 0.001, 0.000 ;[PJSC v1.03]For capturing duty pulse |
| 4203 | 4216 | dutyPulseOn_T2 = scalar, U16, 130, "ms", 0.001, 0.000 ;[PJSC v1.03]For capturing duty pulse |
| 4217 | + advance = scalar, S08, 132, "deg", 1.000, 0.000 ;[PJSC v1.03] | |
| 4204 | 4218 | |
| 4205 | 4219 | |
| 4206 | 4220 | #if CELSIUS |
| @@ -1,7 +1,8 @@ | ||
| 1 | 1 | #ifndef CANCOMMS_H |
| 2 | 2 | #define CANCOMMS_H |
| 3 | 3 | |
| 4 | -#define CAN_PACKET_SIZE 75 | |
| 4 | +//[PJSC v1.03]#define CAN_PACKET_SIZE 75 | |
| 5 | +#define CAN_PACKET_SIZE 133 //[PJSC v1.03] | |
| 5 | 6 | |
| 6 | 7 | uint8_t currentcanCommand; |
| 7 | 8 | uint8_t currentCanPage = 1;//Not the same as the speeduino config page numbers |
| @@ -20,7 +20,7 @@ | ||
| 20 | 20 | |
| 21 | 21 | //[PJSC]#define SERIAL_PACKET_SIZE 90 //Must match ochBlockSize in ini file |
| 22 | 22 | //[PJSC v1.03]#define SERIAL_PACKET_SIZE 116 //[PJSC v1.02] Extend serial packet block size |
| 23 | -#define SERIAL_PACKET_SIZE 132 //[PJSC v1.03] Extend serial packet block size | |
| 23 | +#define SERIAL_PACKET_SIZE 133 //[PJSC v1.03] Extend serial packet block size | |
| 24 | 24 | |
| 25 | 25 | byte currentPage = 1;//Not the same as the speeduino config page numbers |
| 26 | 26 | bool isMap = true; |
| @@ -21,6 +21,7 @@ | ||
| 21 | 21 | static inline byte correctionLaunch() __attribute__((always_inline)); //Launch control correction |
| 22 | 22 | static inline bool correctionDFCO() __attribute__((always_inline)); //Decelleration fuel cutoff |
| 23 | 23 | static inline byte correctionBARO() __attribute__((always_inline)); //[PJSC v1.03]Barometric pressure correction |
| 24 | +static inline int16_t setDecelerationCorrection() __attribute__((always_inline)); //[PJSC v1.03] | |
| 24 | 25 | |
| 25 | 26 | int8_t correctionsIgn(int8_t advance); |
| 26 | 27 | static inline int8_t correctionFixedTiming(int8_t); |
| @@ -269,6 +269,10 @@ | ||
| 269 | 269 | #define EXTRIG_MISFIRE_DETECTION 3 //[PJSC v1.03] For Misfire detection |
| 270 | 270 | #define EXTRIG_VIECLE_SPEED 4 //[PJSC v1.03] For capturing viecle speed |
| 271 | 271 | |
| 272 | +#define DIGITAL_INPUT2_DISABLE 0 //[PJSC v1.03] | |
| 273 | +#define DIGITAL_INPUT2_PWM_CAPT 1 //[PJSC v1.03] | |
| 274 | +#define DIGITAL_INPUT2_SHIFT 2 //[PJSC v1.03] | |
| 275 | + | |
| 272 | 276 | #define MUXOUT_OFF 0 //[PJSC v1.01] MUX output selection |
| 273 | 277 | #define MUXOUT_IDLE 1 //[PJSC v1.01] MUX output selection |
| 274 | 278 | #define MUXOUT_FAN 2 //[PJSC v1.01] MUX output selection |
| @@ -396,8 +400,8 @@ | ||
| 396 | 400 | int CRANK_ANGLE_MAX = 720; |
| 397 | 401 | int CRANK_ANGLE_MAX_IGN = 360; |
| 398 | 402 | int CRANK_ANGLE_MAX_INJ = 360; //The number of crank degrees that the system track over. 360 for wasted / timed batch and 720 for sequential |
| 399 | - | |
| 400 | 403 | |
| 404 | + | |
| 401 | 405 | //This needs to be here because using the config page directly can prevent burning the setting |
| 402 | 406 | byte resetControl = RESET_CONTROL_DISABLED; |
| 403 | 407 |
| @@ -422,7 +426,8 @@ | ||
| 422 | 426 | unsigned long TPS_time; //The time the TPS sample was taken |
| 423 | 427 | unsigned long TPSlast_time; //The time the previous TPS sample was taken |
| 424 | 428 | byte tpsADC; //0-255 byte representation of the TPS |
| 425 | - byte tpsDOT; | |
| 429 | +//[PJSC v1.03] byte tpsDOT; | |
| 430 | + int tpsDOT; //[PJSC v1.03] | |
| 426 | 431 | volatile int rpmDOT; |
| 427 | 432 | byte VE; |
| 428 | 433 | byte VE2; //[PJSC] |
| @@ -653,8 +658,14 @@ | ||
| 653 | 658 | int8_t EMAPMin; //Must be signed |
| 654 | 659 | uint16_t EMAPMax; |
| 655 | 660 | |
| 656 | - byte fanWhenOff : 1; // Only run fan when engine is running | |
| 657 | - byte fanUnused : 7; | |
| 661 | + byte fanWhenOff : 1; // Only run fan when engine is running | |
| 662 | + byte dfcoTPSdotEnabled : 1; //[PJSC v1.03] For TPSdotDFCO | |
| 663 | + byte swIATcorrection: 1; //[PJSCv1.03] | |
| 664 | + byte swTAE: 1; // | | |
| 665 | + byte swWUE: 1; // V | |
| 666 | + byte swCrankingEnrichment: 1; //[PJSCv1.03] | |
| 667 | + byte fanUnused : 2; //[PJSC v1.03] For TPSdotDFCO | |
| 668 | +//[PJSC v1.03] byte fanUnused : 7; | |
| 658 | 669 | |
| 659 | 670 | //[PJSC] byte unused1_70[57]; |
| 660 | 671 | byte pjscFreq; //[PJSC] Offset 71 |
| @@ -679,15 +690,11 @@ | ||
| 679 | 690 | //[PJSC v1.02] byte unused2_76: 3; // | |
| 680 | 691 | byte analogInputPortSelection: 2; // |[PJSC v1.02] For Analog input port selection |
| 681 | 692 | byte analogInputPortSelection2: 2; // |[PJSC v1.03] |
| 682 | - byte dutyPulseCaptureEnabled: 1; // | For capturing duty pulse ch1 | |
| 683 | - byte dutyPulseCaptureEnabled2: 1; // | For capturing duty pulse ch2 | |
| 693 | + byte dutyPulseCaptureEnabled: 2; // | For capturing duty pulse ch1 | |
| 694 | + byte dutyPulseCaptureEnabled2: 2; // | For capturing duty pulse ch2 | |
| 684 | 695 | byte dutyPulseOnLevel: 1; // | For capturing duty pulse ch1, 0: high, 1: low |
| 685 | 696 | byte dutyPulseOnLevel2: 1; // | For capturing duty pulse ch2, 0: high, 1: low |
| 686 | -//[PJSC v1.03] byte unused2_77: 4; // V | |
| 687 | - byte swIATcorrection: 1; //[PJSCv1.03] | |
| 688 | - byte swTAE: 1; // | | |
| 689 | - byte swWUE: 1; // V | |
| 690 | - byte swCrankingEnrichment: 1; //[PJSCv1.03] | |
| 697 | + byte unused2_77: 2; // V | |
| 691 | 698 | byte veMapSelectionInj1Pri: 4; //[PJSCv1.01] For x4 Fuel table support |
| 692 | 699 | byte veMapSelectionInj1Sec: 4; //[PJSCv1.01] | |
| 693 | 700 | byte veMapSelectionInj2Pri: 4; //[PJSCv1.01] | |
| @@ -832,8 +839,14 @@ | ||
| 832 | 839 | byte misfireDetectThresh; //[PJSC v1.03] For misfire detection |
| 833 | 840 | byte numSpeedPulsePerRev; //[PJSC v1.03] For capturing viecle speed |
| 834 | 841 | uint16_t tireCircumference; //[PJSC v1.03] For capturing viecle speed |
| 835 | - byte unused2_95[32]; //[PJSC v1.03] For misfire detection | |
| 836 | 842 | |
| 843 | + int16_t dfcoTPSdotThresh; //[PJSC v1.03] For TPSdot DFCO | |
| 844 | + byte dfcoTPSdotMulti; //[PJSC v1.03] For TPSdot DFCO | |
| 845 | + byte dfcoTPSdotDuration; //[PJSC v1.03] For TPSdot DFCO | |
| 846 | + byte dfcoTPSdotRPM; //[PJSC v1.03] For TPSdot DFCO | |
| 847 | + byte dfcoTPSdotTPSThresh; //[PJSC v1.03] For TPSdot DFCO | |
| 848 | + byte unused2_101[26]; //[PJSC v1.03] For TPSdot DFCO | |
| 849 | + | |
| 837 | 850 | #if defined(CORE_AVR) |
| 838 | 851 | }; |
| 839 | 852 | #else |