The STM32F413ZHJ6 used by imp006 has the hardware capability to service my need for precision buffered input capture pulse timestamp registers. See starting on Page 34: http://static6.arrow.com/aropdfconversion/c359dc7a36598f99d1f556acec9341496d8a0069/876503882104882a.pdf
I may want to build a commercialized, scaled version of the sensor interface controller system I have built for myself in which three components are critical:
- Accurate input-capture pulse frequency timing of each of every pulse;
- LTE-M Cellular connectivity; and
- Enough power to write the full pulse stream to SD card (3 bytes of info/pulse; 3khz max)
Currently the economics probably wouldn’t justify a full custom imp006 implementation because I am having to pay $25 for a Teensy 3.5 with the beautiful, tested, working FreqMeasureMulti library which uses the Input Capture registers of that MCU to do what I need (with built-in SD card SDIO socket).
So while the imp006 is extremely helpful as a stable LTE data packet uploader, it is an economical waste of money to underutilize the STM32F413ZHJ6 and pay $25 separate dollars for a similar high-performance MCU to do my real work, and reduce the entire imp006 hardware to merely an every-60-seconds-upload-some-data-from-the-real-MCU LTE device.
I am familiar that:
- Squirrel pin interrupts obviously are insufficient (even regular C/Arduino ISRs are insufficient compared to input capture); and
- I saw this thread (Best way to count pulses? Why is pulse counter blocking?) about using the UARTs with pulse timing, which was pretty fascinating and clever, but I am pretty sure I looked at the data rates involved, and this method wouldn’t be able to get me precise timing up to 3kHz)
Therefore, I am asking:
- Is it possible to somehow interface with the raw STM32F413ZHJ6 registers using C in combination with a higher-level Squirrel program?
- Are there plans in ImpOS to port an equivalent library to FreqMeasureMulti for imp006 which uses the Input Capture timer registers to buffer pulse times? (I would probably throw out everything and fully adopt imp006 overnight if something so wonderful and useful could happen)
- Is there any other way possible to do what I am wanting to do on the STM32F413ZHJ6 using Squirrel/impOS?