AnsweredAssumed Answered

Parser advice with ISR

Question asked by thy on Mar 29, 2016
Hi everybody.

I am writing a program which, among the others, makes an stm32f427 mcu communicate with a GNSS module via SPI. The envinronment, further, consists of freeRTOS and the ST HALs. So far, I have written a module driver, still work in progress, and some facilities to handle NMEA sentences. Among these, I have written a parser even though I am still in the process of thinking what could be an effective soultion given the following: the GNSS module throws periodic and polled messages. Since I want to catch anything is coming from it, I need to use interrupts. Now, my idea is to put the datastream into a (ring)buffer and then detect and divide each sentence with an higher level realtime task. More in detail, the task will firstly divide polled from periodic messages. The periodic messages are NMEA sentences and will be processed by the parser while the polled messages are GNSS module specific and will be processed differently. In other words, periodic messages will be used to store navigation information with no time constraints while the polled messages are those related to information I need "exactly" at the time I am requesting them. This is the rough picture I have in my mind. However, I really would appreciate if anybody can give me an advice on this.

Thank you and best regards.