toblum / TetrisAnimation

Library to draw numbers on a LED matrix in a tetris style
GNU General Public License v3.0
124 stars 21 forks source link

Getting a Kernel panic when trying to use it with EzTime library #3

Open witnessmenow opened 5 years ago

witnessmenow commented 5 years ago

More info to follow

tablatronix commented 5 years ago

I have traced these panics to using a timer or ISR and doing too much inside it. Post anything different if you see it

witnessmenow commented 5 years ago

Will try out your changes on the Matrix panel when I get a change

ROSW6341 commented 5 years ago

I do not know the underlying cause but I was able to circumvent the problem by copying core_esp_main.cpp from C:\Users\\AppData\Local\arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266 into the sketch directory then commenting out the 'panic()' on line 103 of the copied file.

tablatronix commented 5 years ago

Yeah its strange because it is specifically calling panic exception because of the 'in interrupt' check, not sure what the other 2 checks are. Its odd

afaik , this is not in an interrupt

witnessmenow commented 5 years ago

Someone has a workaround for this on the WiFi Tetris clock repo

https://github.com/witnessmenow/WiFi-Tetris-Clock/issues/8

On Fri, 26 Jul 2019, 20:22 Shawn A, notifications@github.com wrote:

Yeah its strange because it is specifically calling panic exception because of the 'in interrupt' check, not sure what the other 2 checks are. Its odd

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/toblum/TetrisAnimation/issues/3?email_source=notifications&email_token=AAL5PQTTVAGI5F67IZXQWU3QBNFILA5CNFSM4HRYMVC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD25PXZQ#issuecomment-515570662, or mute the thread https://github.com/notifications/unsubscribe-auth/AAL5PQXYCEK47ENTKVYBAZTQBNFILANCNFSM4HRYMVCQ .

ROSW6341 commented 5 years ago

Worked for me and much cleaner than the core_esp_main.cpp hack I posted above

tablatronix commented 5 years ago

That is what I did also, but it did still wdt now and then during long draws, but it is probably the easiest fix. Of course you can just not use a timer or use a timer library that just uses timekeeping and a process()

tablatronix commented 5 years ago

Is it possible to compile with no-exceptions build flag and bypass this also ?

tablatronix commented 5 years ago

aha

https://github.com/esp8266/Arduino/issues/6283