@Stevie, quite interesting this NXP LPC800 family of processors. A very intriguing feature is the pattern matching engine. Do you have some experience with it? Does it - A) work synchronously on a number of pins or - B) asynchronously with a synchronous clocking pattern on a single pin? It is known that especially in RF it is a challenge to detect patterns in incomming stream of signals that also includes noise, and therefore a start/stop bit detection is a challenge. If it works asynchronously that would be really cool - of course, it requires some sort of shift register that is filled weighted by the speed cycle and then parallel accessed by this pattern matching algorithm to create a trigger for the application software to start doing something what is received next...
In espruino the double buffered wave on input could include kind of a similar route, but a processing in the Javascript interpreter is just too slow for pattern detection and there is also no shifting involved. It is a cool thing though, because it keeps recording to one buffer in the firmware layser while the other is processed in the javascript interpreter. Using assembled javascript can/could speed up the processing, but it the shifting would still be missed. @Gordon, could you think of an additional buffer mode, such as a circular buffer with automatic modulo-addressing mechanism? With a circular buffer though, the callback invocation event needs a redefiniton...
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
@Stevie, quite interesting this NXP LPC800 family of processors. A very intriguing feature is the pattern matching engine. Do you have some experience with it? Does it - A) work synchronously on a number of pins or - B) asynchronously with a synchronous clocking pattern on a single pin? It is known that especially in RF it is a challenge to detect patterns in incomming stream of signals that also includes noise, and therefore a start/stop bit detection is a challenge. If it works asynchronously that would be really cool - of course, it requires some sort of shift register that is filled weighted by the speed cycle and then parallel accessed by this pattern matching algorithm to create a trigger for the application software to start doing something what is received next...
In espruino the double buffered wave on input could include kind of a similar route, but a processing in the Javascript interpreter is just too slow for pattern detection and there is also no shifting involved. It is a cool thing though, because it keeps recording to one buffer in the firmware layser while the other is processed in the javascript interpreter. Using assembled javascript can/could speed up the processing, but it the shifting would still be missed. @Gordon, could you think of an additional buffer mode, such as a circular buffer with automatic modulo-addressing mechanism? With a circular buffer though, the callback invocation event needs a redefiniton...