Open chaduhduh opened 8 months ago
This is awesome! Thank you for the PR.
I am not going to merge as this looks to be a API change with no underlying functional changes. It's risk vs reward: It's not trivial to change our production scripts to use a new binary. I just don't want to break it!
I'll leave this PR open though. If we ever have a reason to revisit this code base your changes will significantly help us to get up to speed on the newer API.
This is awesome! Thank you for the PR.
I am not going to merge as this looks to be a API change with no underlying functional changes. It's risk vs reward: It's not trivial to change our production scripts to use a new binary. I just don't want to break it!
I'll leave this PR open though. If we ever have a reason to revisit this code base your changes will significantly help us to get up to speed on the newer API.
I completely understand. No sense in updating the install when there aren't functional changes to the firmware itself. It is probably a small number of folks who will actually encounter a problem (although for me updating the firmware eliminated an extra chip!). Also I think you all have newer boards that are replacing these.
Anything you want to do with this is fine. Since I made the updates on my end I figured I would share with you all :hugs:.
This existing firmware is designed to be used with a separately maintained fork of SevSeg and the APIs are now incompatible. It appears at some point after you all created this firmware and the SevSeg fork that Dean resumed development on it and gave it a proper license. See the SevSeg repo. These updates address the issue by updating various calls to use the newer API.
This change is probably useful for others since folks using library managers will likely end up with the other version. I already had
SevSeg
installed for some other projects and when I needed to customize the Serial7SegmentDisplay firmware I ran into compatibility issues. I think this is what another person mentioned in issue #24Note that this has only been tested on the S7S board layout. Open segment and 7 segment shield were updated but are untested (since I don't have them :eyes: ).
A summary of the updates are as follows:
DisplayString(digits, decimals);
to the SegSev methodsetNumber(digits, decimals)
begin
calls to be compatible with new signature:begin(uint8_t hardwareConfig, uint8_t numDigitsIn, const uint8_t digitPinsIn[], const uint8_t segmentPinsIn[], bool resOnSegmentsIn, bool updateWithDelaysIn, bool leadingZerosIn, bool disableDecPoint)
refreshDisplay()
as appropriate (See Readme)Feel free to close this or test and incorporate at your discretion. If you don't want to incorporate this, I can continue to use my fork for my own projects that need custom firmware.
Thanks for providing all of this code to support your products. It is all really great :confetti_ball: