Serial7SegmentDisplay
Serial7SegmentDisplay copied to clipboard
Missing 'E' Segment (COM-11440)
This is an issue complained about in several comments across all of the 7 Segment product pages. Where everything appears normal, expect Segment 'E' on each digit does not display. I've verified the hardware is physically connected by switching pin assignments around and it does in fact light up.
Reading comments I've seen and tried several fixes.
Changing BOARD_TYPE to S7S.
Initially the text is totally scrambled, this change fixes it, except the E Segment.
Appending PB6/PB7 to pin_arduino.h
As I'm using the current code from this repo and (I think...) properly installing the hardware profile, this is taken care of for me.
I'm using Arduino 1.6.4
I'm a little confused if this is a question/issue. Are you appending PB6/PB7 to pin_arduino.h? The copy of pins_arduino.h that is in this repo has had that for 3 years. Did you change something? Does 'Changing BOARD_TYPE to S7S' mean you changed line #39 of Serial_7_Segment_Display_Firmware.ino (#define DISPLAY_TYPE OPENSEGMENT) to use the S7S settings?
Sorry for the lack of clarity. I've not added anything to pins_arduino.h, as you've said it's present, but that is part of what I found to be a suggested solution.
And yes, I've changed #define BOARD_TYPE to S7S. Which leads to better results than default but still seems to miss segment E.
I think I've tracked the problem down. The build variant was set incorrectly to "standard", so pins_arduino.h wasn't being pulled from our custom hardware folder.
I pushed a new version of boards.txt, if you want to try that out. Or just make sure this line says "ser7seg" not "standard".
Wouldn't that require the directory variants/ser7seg
to exist with it's own pin_arduino.h?
In file included from /home/morgan/opt/arduino-1.6.4/libraries/SevSeg/src/SevSeg.h:14:0,
from Serial_7_Segment_Display_Firmware.ino:1:
/home/morgan/opt/arduino-1.6.4/hardware/Serial7Seg/avr/cores/arduino/Arduino.h:213:26: fatal error: pins_arduino.h: No such file or directory
#include "pins_arduino.h"
It does. https://github.com/sparkfun/Serial7SegmentDisplay/blob/master/firmware/hardware/Serial7Seg/variants/standard/pins_arduino.h Maybe do a fresh download?
Since you are running 1.6.4 you could try using the new board manager with this URL: https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json
Same error with a fresh checkout. If I set variant
to ser7seg
it cannot find pins_arduino.h
.
@morganrallen is right. "standard" should be renamed "ser7seg". Those changes are pushed now.
Bigger picture issue here is the hardware folder structure in general needs to be revised to match Arduino 1.6 standards. I'll keep this issue open until we resolve that.
Right, I've had to add the avr
directory to even get it to load, platforms.txt is missing also.
So simply renaming everything hasn't worked. I got it back to a compiling state but Segment E remains dark.
Another change pushed. Moved all hardware addon files to hardware/sparkfun/avr
, and added platform.txt. Seems to be working for me - compiles and the E segment lights up. Let me know if it tests out for you @morganrallen .
No dice.
I cannot reproduce the error. What do you mean by the 'E' segment? Is it a single segment that is numbered in a figure in this section? Segment 5? If so, which digit(s)?
Yes, E is the same as 5.