Showing results for 
Search instead for 
Did you mean: 

Parser advice with ISR

Associate II
Posted on March 29, 2016 at 11:27

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.