mirrorTo failure on Boron using firmware 1.5

This evening I upgraded a Boron from firmware 1.4 to 1.5 and have run into difficulty with mirrorTo

The final system is built into an enclosure and the onboard RGB led is not visible. I use mirrorTo to display and led signalling to display status.

SInce I want the system modes to be displayed during startup and DFU mode I enable this function using mirrorTo(D2,D3,D4,true,true) in a STARTUP void.

This was working fine under 1.4 but does not work under 1.5 - the external RGB led only shows status when in Safe mode (magenta) and DFU mode (yellow). The leds are off in normal operation.

I have not found any clues by searching the bulletin board and have yet to revert to 1.4 but am interested to know if this is a known problem with 1.5?

Thanks

I have reverted to OS 1.4.4 and the same behaviour persists - this is odd since the RGB mirror was working well under 1.4.4 before changing to 1.5 The external RGB led show magenta and yellow when entering Safe Mode then DFU mode but is otherwise off.

There is a second issue that seems to have developed on moving to 1.5 but which has persisted when moving back to 1.4.4. I am powering the processor by applying 5v to the VUSB pin without a LiPo attached. I am using pmic.disableCharging - under 1.4.4 it would mostly start but would occasionally hang on startup requiring a second start. Under 1.5 it hangs every start and it is necessary to hit the reset button to get it going. This behaviour has also persisted once I change back to 1.4.4

This make me wonder if there is some firmware that is not replaced when downgrading the OS ? I downgraded using “Particle:Flash Application and Device OS (local)”.

Can you run particle serial inspect (in Listening Mode) to see what the current module versions are?

Thanks - output is as follows

@ScruffR

Thanks - does the above give any clue as to why the mirrorTO function does not work except for Safe and DFU modes. The fact that these operate normally indicates that the R G and B leds are connected correctly.

There isn’t anything obvious that would explain that misbehaviour.

Have you got another Boron you could try this out?

I guess I do have another Boron that was not yet updated to 1.5.0 but I’d have to go and find it first :blush:

@Scruffr

I have a second Boron which I am about to fire up testing transfer of data using Publish/Subscribe. The aim is allow a clinician to view patient sessions when they are at home - all the more important given the current virus outbreak.

I will fire up the second Boron and will also cut a short test program to use on both processors. I will report the outcome in the next couple of days.

Thanks

1 Like

@ScruffR

I have resolved the issue thanks. I amstruggling with pmic control when using an external power source via VUSB on a Boron. I introduced an initialization routine which was called from STARTUP. I moved the mirrorTo function into that routine as well as the pmic control code. Bad move. I have been able to demonstrate that mirrorTo does not work in this case - it must be defined directly in a STARTUP statement.

1 Like

Can you show how you did that when it was not working?
The reference for STARTUP() does show how multiple instructions should be combined when putting them together into a STARTUP() makro.

@ScruffR

I found that STARTUP(RGB.mirrorTo(D2,D3,D4,true,true)); works as expected

but

STARTUP(initDevice);

void initDevice()

{RGB.mirrorTo(D2,D3,D4,true,true);}

does not work - in this case the RGB leds are mirrored for DFU and Safe Modes but are otherwise off.

@ScruffR On checking I note that I had not included the () in the STARTUP call - it compiled without the () but when I add them its back working.

Thanks - now to see if that resolves my pmic challenges.

Thanks for your efforts

1 Like

Nope - the pmic problem remains but mirrorTo has been resolved. The pmic issue is the subject of another thread.