@@ -197,6 +197,10 @@ STATE_DEFINE(HotFireStateMachine, Init, UOSMData)
197
197
interface->createNewGpioOutput (HEATER_NAME, HEATER_PIN);
198
198
#endif
199
199
200
+ #if USE_IGNITER
201
+ interface->createNewGpioOutput (IGNITER_NAME, IGNITER_PIN);
202
+ #endif
203
+
200
204
#if USE_PWM_MAIN
201
205
interface->createNewGpioPwmOutput (MAIN_NAME, MAIN_PIN, MAIN_SAFE, MAIN_SOFTPWM);
202
206
#endif
@@ -281,6 +285,10 @@ STATE_DEFINE(HotFireStateMachine, WaitForFilling, UOSMData)
281
285
gpioData.digitalOutputMap .insert ({VENT_NAME, VENT_CLOSE});
282
286
#endif
283
287
288
+ #if USE_IGNITER
289
+ gpioData.digitalOutputMap .insert ({IGNITER_NAME, IGNITER_OFF});
290
+ #endif
291
+
284
292
#if USE_PWM_MAIN
285
293
gpioData.pwmOutputMap .insert ({MAIN_NAME, MAIN_CLOSE});
286
294
#endif
@@ -322,6 +330,10 @@ STATE_DEFINE(HotFireStateMachine, Filling, UOSMData)
322
330
gpioData.digitalOutputMap .insert ({VENT_NAME, VENT_CLOSE});
323
331
#endif
324
332
333
+ #if USE_IGNITER
334
+ gpioData.digitalOutputMap .insert ({IGNITER_NAME, IGNITER_OFF});
335
+ #endif
336
+
325
337
#if USE_PWM_MAIN
326
338
gpioData.pwmOutputMap .insert ({MAIN_NAME, MAIN_CLOSE});
327
339
#endif
@@ -363,6 +375,10 @@ STATE_DEFINE(HotFireStateMachine, WaitForIgnition, UOSMData)
363
375
gpioData.digitalOutputMap .insert ({VENT_NAME, VENT_CLOSE});
364
376
#endif
365
377
378
+ #if USE_IGNITER
379
+ gpioData.digitalOutputMap .insert ({IGNITER_NAME, IGNITER_OFF});
380
+ #endif
381
+
366
382
#if USE_PWM_MAIN
367
383
gpioData.pwmOutputMap .insert ({MAIN_NAME, MAIN_CLOSE});
368
384
#endif
@@ -404,6 +420,10 @@ STATE_DEFINE(HotFireStateMachine, Ignition, UOSMData)
404
420
gpioData.digitalOutputMap .insert ({VENT_NAME, VENT_CLOSE});
405
421
#endif
406
422
423
+ #if USE_IGNITER
424
+ gpioData.digitalOutputMap .insert ({IGNITER_NAME, IGNITER_ON});
425
+ #endif
426
+
407
427
#if USE_PWM_MAIN
408
428
gpioData.pwmOutputMap .insert ({MAIN_NAME, MAIN_IGNITION});
409
429
#endif
@@ -446,6 +466,10 @@ STATE_DEFINE(HotFireStateMachine, FullBurn, UOSMData)
446
466
gpioData.digitalOutputMap .insert ({VENT_NAME, VENT_CLOSE});
447
467
#endif
448
468
469
+ #if USE_IGNITER
470
+ gpioData.digitalOutputMap .insert ({IGNITER_NAME, IGNITER_OFF});
471
+ #endif
472
+
449
473
#if USE_PWM_MAIN
450
474
gpioData.pwmOutputMap .insert ({MAIN_NAME, MAIN_OPEN});
451
475
#endif
@@ -487,6 +511,10 @@ STATE_DEFINE(HotFireStateMachine, FinalVenting, UOSMData)
487
511
gpioData.digitalOutputMap .insert ({VENT_NAME, VENT_OPEN});
488
512
#endif
489
513
514
+ #if USE_IGNITER
515
+ gpioData.digitalOutputMap .insert ({IGNITER_NAME, IGNITER_OFF});
516
+ #endif
517
+
490
518
#if USE_PWM_MAIN
491
519
gpioData.pwmOutputMap .insert ({MAIN_NAME, MAIN_CLOSE});
492
520
#endif
@@ -529,6 +557,10 @@ STATE_DEFINE(HotFireStateMachine, Done, UOSMData)
529
557
gpioData.digitalOutputMap .insert ({VENT_NAME, VENT_CLOSE});
530
558
#endif
531
559
560
+ #if USE_IGNITER
561
+ gpioData.digitalOutputMap .insert ({IGNITER_NAME, IGNITER_OFF});
562
+ #endif
563
+
532
564
#if USE_PWM_MAIN
533
565
gpioData.pwmOutputMap .insert ({MAIN_NAME, MAIN_OPEN});
534
566
#endif
@@ -565,6 +597,10 @@ STATE_DEFINE(HotFireStateMachine, AbortFilling, UOSMData)
565
597
gpioData.digitalOutputMap .insert ({VENT_NAME, VENT_CLOSE});
566
598
#endif
567
599
600
+ #if USE_IGNITER
601
+ gpioData.digitalOutputMap .insert ({IGNITER_NAME, IGNITER_OFF});
602
+ #endif
603
+
568
604
#if USE_PWM_MAIN
569
605
gpioData.pwmOutputMap .insert ({MAIN_NAME, MAIN_CLOSE});
570
606
#endif
@@ -601,6 +637,10 @@ STATE_DEFINE(HotFireStateMachine, AbortBurn, UOSMData)
601
637
gpioData.digitalOutputMap .insert ({VENT_NAME, VENT_CLOSE});
602
638
#endif
603
639
640
+ #if USE_IGNITER
641
+ gpioData.digitalOutputMap .insert ({IGNITER_NAME, IGNITER_OFF});
642
+ #endif
643
+
604
644
#if USE_PWM_MAIN
605
645
gpioData.pwmOutputMap .insert ({MAIN_NAME, MAIN_CLOSE});
606
646
#endif
@@ -649,7 +689,7 @@ STATE_DEFINE(HotFireStateMachine, ServoControl, UOSMData)
649
689
* 0 0 0 0 0 0
650
690
* | | | | | ^--------- Enable bit
651
691
* | | | | ^----------- USE_VENT
652
- * | | | ^------------- USE_SV02
692
+ * | | | ^------------- USE_IGNITER
653
693
* | | ^--------------- USE_PWM_MAIN
654
694
* | ^----------------- USE_PWM_PINHOLE
655
695
* ^------------------- USE_PWM_FILL
@@ -669,6 +709,16 @@ STATE_DEFINE(HotFireStateMachine, ServoControl, UOSMData)
669
709
}
670
710
#endif
671
711
712
+ #if USE_IGNITER == 1
713
+ {
714
+ bool open = (eventNbr & IGNITER_EVENT_ENABLE_MASK) > 0 ;
715
+
716
+ gpioData.digitalOutputMap .insert ({IGNITER_NAME, open ? IGNITER_ON : IGNITER_OFF});
717
+
718
+ logValveStatus (IGNITER_NAME, open);
719
+ }
720
+ #endif
721
+
672
722
#if USE_PWM_MAIN == 1
673
723
{
674
724
bool open = (eventNbr & MAIN_EVENT_ENABLE_MASK) > 0 ;
0 commit comments