Hi,
As far as code goes (it not the complete one), you are using the display variable to use a per second(x2,x3) update of your LCD to show multiple information. I think you can you the same Select Case loop to do more.
1. Since you are flagging bits in a variable under normal conditions the variable would be zero. So you an IF-Then_Else to display the normal when that byte is zero and use it to reset the display variable too. Next use more select case statement to do a bit by bit checking and displaying the error messages.
2. Now suppose you have the third bit set then your select case would waste 3 cycles to display that condition. So use another increment variable that acts as a pointer to your valid flags.
3. When all done reset the display variable.
I used this sort of code in one of my Annunciator Project. I will just have to check with my partner (the fat headed commercial guy) if I can share the same on this forum.
Good Luck
Regards
Sougata




Bookmarks