@@ -715,29 +715,30 @@ func (s *SenseHat) FlashLED(x, y int, r, g, b uint8, duration time.Duration) err
715715}
716716
717717// SetNavLights turns on the navigation lights on top row (SD card side).
718- // y=7 is furthest from GPIO (top of board when GPIO is on right)
718+ // Top row: x=0, y varies from 0 (left/HDMI) to 7 (right/GPIO)
719+ // Layout: Strobe(0,0) | Green(0,1) | ---- | Red(0,6) | Strobe(0,7)
719720func (s * SenseHat ) SetNavLights () error {
720- // Green (x=1 , y=7 )
721- if err := s .SetPixel (1 , 7 , 0 , 255 , 0 ); err != nil {
721+ // Green (x=0 , y=1 )
722+ if err := s .SetPixel (0 , 1 , 0 , 255 , 0 ); err != nil {
722723 return err
723724 }
724- // Red (x=6 , y=7 )
725- return s .SetPixel (6 , 7 , 255 , 0 , 0 )
725+ // Red (x=0 , y=6 )
726+ return s .SetPixel (0 , 6 , 255 , 0 , 0 )
726727}
727728
728729// FlashStrobes double-flashes the strobe lights on top row (SD card side).
729- // y=7 is furthest from GPIO (top of board when GPIO is on right)
730+ // Top row: x=0, y=0 (left corner), y=7 ( right corner )
730731func (s * SenseHat ) FlashStrobes (duration time.Duration ) error {
731732 for flash := 0 ; flash < 2 ; flash ++ {
732733 // Flash on
733- s .SetPixel (0 , 7 , 255 , 255 , 255 ) // Left strobe (x=0, y=7 )
734- s .SetPixel (7 , 7 , 255 , 255 , 255 ) // Right strobe (x=7 , y=7)
734+ s .SetPixel (0 , 0 , 255 , 255 , 255 ) // Left strobe (x=0, y=0 )
735+ s .SetPixel (0 , 7 , 255 , 255 , 255 ) // Right strobe (x=0 , y=7)
735736
736737 time .Sleep (duration )
737738
738739 // Flash off
740+ s .SetPixel (0 , 0 , 0 , 0 , 0 )
739741 s .SetPixel (0 , 7 , 0 , 0 , 0 )
740- s .SetPixel (7 , 7 , 0 , 0 , 0 )
741742
742743 if flash == 0 {
743744 time .Sleep (duration / 2 )
@@ -777,22 +778,22 @@ func (s *SenseHat) PlaneAnimation(frameDelay time.Duration) error {
777778 }
778779 }
779780
780- // Navigation lights - all on top row (y=7, SD card side )
781- // Strobe(x=0), Green(x= 1) | Red(x=6), Strobe(x= 7)
782- if err := s .SetPixel (1 , 7 , 0 , 255 , 0 ); err != nil { // Green
781+ // Navigation lights - all on top row (x=0 )
782+ // Strobe(0,0) | Green(0, 1) | ---- | Red(0,6) | Strobe(0, 7)
783+ if err := s .SetPixel (0 , 1 , 0 , 255 , 0 ); err != nil { // Green
783784 return err
784785 }
785- if err := s .SetPixel (6 , 7 , 255 , 0 , 0 ); err != nil { // Red
786+ if err := s .SetPixel (0 , 6 , 255 , 0 , 0 ); err != nil { // Red
786787 return err
787788 }
788789
789790 // Strobe lights at corners of top row
790791 strobeOn := (strobeCounter % 4 ) < 2
791792 if strobeOn {
792- if err := s .SetPixel (0 , 7 , 255 , 255 , 255 ); err != nil { // Left strobe
793+ if err := s .SetPixel (0 , 0 , 255 , 255 , 255 ); err != nil { // Left strobe
793794 return err
794795 }
795- if err := s .SetPixel (7 , 7 , 255 , 255 , 255 ); err != nil { // Right strobe
796+ if err := s .SetPixel (0 , 7 , 255 , 255 , 255 ); err != nil { // Right strobe
796797 return err
797798 }
798799 }
0 commit comments