Electronics > Microcontrollers

STM32H7 mbed timeout Stop, Pause, Maskout what is best options?


Hi All
I am having trouble using Timeout.    From my main loop if i write to my LCD i want to set a timer for 10sec for the backlight.  Then turn off backlight after the 10sec.    I can get this and the callback routine routine to work quite simply.   But i think there is exception if the timout interupt is called when the LCD is in the middle of doing something.   This is my code.

--- Code: ---using namespace std::chrono;

Timeout toutTest;
Timer timerTest;
volatile bool lcdTimmerFlag =0 ;

  // Print to LCD
    @param    Message       [in] String or character for LCD to Print
    @param    clearLcdFirst [in] Clear screen first, Yes No
    @param    Pos           [in] Position of cursor, Default = 0
    @param    Line          [in] Line number, 0 = ist line, 1 = 2nd Line, Default = 0
    void lcdPrint (const char* Message, bool clearLcdFirst = true,int Pos =0,
                   int Line =0){
        microseconds toutRemain = toutTest.remaining_time();

        if (clearLcdFirst == true) {lcd.clear();}

        if (lcdTimmerFlag == FALSE){
           toutTest.attach(&lcdBackLightOff, 10s);
           lcdTimmerFlag = TRUE;

        } else { 
          toutTest.attach(&lcdBackLightOff, toutRemain);

  void lcdBackLightOff() {
    lcdTimmerFlag = FALSE;
--- End code ---

I belive i cant disable the interupt so i have attempted to: 1, stop the timer,  2, read the 'timeout.remaining_time()'  3, DO LCD instructions  4, reattached timeout with remainder.

Am i completly barking up the wrong tree here?

a few other problems i am having is the following line in PIO is always <opimised out> .   So it cant be used.

--- Code: ---microseconds toutRemain = toutTest.remaining_time();
--- End code ---

if i volitile it ie
--- Code: --- volatile microseconds toutRemain = toutTest.remaining_time();
--- End code ---
  then the line   
--- Code: ---toutTest.attach(&lcdBackLightOff, toutRemain);
--- End code ---
brings up a TYPE error.

Any experience or examples would be greatly appreciated.  Cheers


[0] Message Index

There was an error while thanking
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod