ESP8266 Developer Zone The Official ESP8266 Forum 2016-08-22T13:42:39+08:00 https://bbs.espressif.com:443/feed.php?f=7&t=2531 2016-08-22T13:42:39+08:00 2016-08-22T13:42:39+08:00 https://bbs.espressif.com:443/viewtopic.php?t=2531&p=9564#p9564 <![CDATA[Re: 【Resolved】Need better interrupt access for Full-Speed USB]]> How are you accessing the registers? Using the register write APIs?

Statistics: Posted by Guest — Mon Aug 22, 2016 1:42 pm


]]>
2016-08-21T09:43:40+08:00 2016-08-21T09:43:40+08:00 https://bbs.espressif.com:443/viewtopic.php?t=2531&p=9077#p9077 <![CDATA[Re: 【Resolved】Need better interrupt access for Full-Speed USB]]>

So, it turns out the problem is that whenever the processor reads any of the registers behind the AHB? bus, it takes something like 17 cycles, which is just too much for USB. Unless there's some other side channel - someone else suggested maybe multichannel SDIO or something to ninja the data into RAM, it's not possible to transfer the data from the GPIO registers in time.

Statistics: Posted by cnlohr — Sun Aug 21, 2016 9:43 am


]]>
2016-08-10T10:39:17+08:00 2016-08-10T10:39:17+08:00 https://bbs.espressif.com:443/viewtopic.php?t=2531&p=8360#p8360 <![CDATA[Re: Need better interrupt access for Full-Speed USB]]>
What kind of time delay are you getting between GPIO edge transition and ISR entry?
Also, note that high frequency, high priority interrupts may disrupt core Wi-Fi related routines too often, so do make sure that the CPU is not occupied for too long with interrupts when implementing GPIO interrupt based serial interface!

Find register description for GPIOs attached.
8b-esp8266_interface_gpio_registers_release_15-11-2014.xls

Statistics: Posted by Guest — Wed Aug 10, 2016 10:39 am


]]>
2016-08-09T20:54:38+08:00 2016-08-09T20:54:38+08:00 https://bbs.espressif.com:443/viewtopic.php?t=2531&p=8353#p8353 <![CDATA[【Resolved】Need better interrupt access for Full-Speed USB]]>
https://github.com/cnlohr/espusb

Though I am still not 100% sure I can get full-speed USB working, but I think I can so long as I can minimize the latency between the GPIO interrupt firing and code execution. Currently there is a very, very long time spent within the interrupt handler code in the Espressif SDK.

Is it possible to release the details of how to put my own code in the interrupt vector for the GPIO interrupt instead of routing through the SDK? Additionally, if there is any way to set up the GPIO as an NMI that would be helpful (though not required) since USB does seem to gracefully re-try transmissions.

Statistics: Posted by cnlohr — Tue Aug 09, 2016 8:54 pm


]]>