Problems with Always On (AOD) since a few days on my wtahface, display going off

Hello,

There is a few days or week that I have some return from user on my watchface, problem with AOD

I have the same on my Epix, impossible to have AOD with my watchface, the screen is going off, and I am wondering where is the problem.

Here's my OnUpdate starting to detect sleeping or low power (I don't undersand the difference between sleep and low power) :

		dc.clearClip();
		if (System has :getDisplayMode) {
			var displayMode = System.getDisplayMode();
			if (displayMode == System.DISPLAY_MODE_LOW_POWER) {
				System.println("DisplayMode = LOW_POWER call amoled");
				Amoled.dessine_AMOLED_low_power(dc,clock);
				return; // et puis IMPORTANT arrêter le update
			} else if (displayMode == System.DISPLAY_MODE_OFF) { 
				return;
			}
		} else if (($ has :Amoled) and (Amoled has :dessine_AMOLED_low_power) and (RequireBurningProtection) and (! isAwake)) {
			System.println("call amoled sans display low power ?");
			Amoled.dessine_AMOLED_low_power(dc,clock);
			return; // et puis IMPORTANT arrêter le update
        }

And in my Amoled class, I draw the watchface, and I put black lines :

	function dessine_AMOLED_low_power(dc,clock)   {
		var timeNow = Time.now().value();
		System.println("amoledTimeToRefresh="+amoledTimeToRefresh+"  timeNow="+timeNow);
		if ((timeNow <= amoledTimeToRefresh +10) && (amoledFait)) {			return;		} // for flicking I don't undersant why
		amoledFait = true;

		dc.setColor(Gfx.COLOR_BLACK, Gfx.COLOR_BLACK);
		dc.clear();
		decalageY_OLED = 1 + decalageY_OLED;
		if (decalageY_OLED > 1) {decalageY_OLED = -4;}
		Amoled.dessine_AMOLED_low_power_analog(dc,clock);
	}
		
	function dessine_AMOLED_low_power_analog(dc,clock)   {
		couleurFond = Gfx.COLOR_BLACK;
		Fonctions.dessine_tout(dc,0,0,clock);
		Amoled.quadrille(dc);
	}
	
	function quadrille(dc) {
	dc.setColor(Gfx.COLOR_BLACK, Gfx.COLOR_BLACK);
	dc.setPenWidth(4);
	for (var i = 0;i<dc.getHeight()+5;i=i+5)	{
		dc.drawLine(0, i+decalageY_OLED, dc.getWidth(), i+decalageY_OLED);
		dc.drawLine(i+decalageY_OLED, 0, i+decalageY_OLED, dc.getHeight());			
	}

Even with very large lines (4 pixels/5), the watch are going off, no AOD. AOD is working with others (Garmin) watchfaces. 

It's working well on the simulator, but with 4 pixel black on 5, the screen is almost black, I almost don't see the analog face. Then I think the 10% of pixel is largely OK. but it does not work on real devices ....

Of course, I put the boolean isAwake false and true in functions onEnterSleep() and onExitSleep()

Here's a screenshot of the simulator in AOD mode, very dark !!!

I think to have missed something ??

Thanks a lot for help !!