similar to what you figured out, my applications make sure that at the beginning that MTP is initiated by host but during data acquisition mtp.loop() is NOT called inhibiting responses to PC requests. After acquisition, MTP is reset (either by...
T4.1 should be able to sample at 768 kHz as acording to Table 7.6, Teensy must only provide 24.576 kHz Bitclock.
IMO, you have two options:
16 bit I2S (2channel according to I2S protocol, where frame-sync is 16 bit high-16 bit low, resulting in...
You can use RAW HID and Mouse together, if you are using a RAW-HID + Mouse USB_mode. As this is not in the Teensyduino list, you can /must compose your own. Or, you encode Mouse operations into RAW-HId operations in PC and decode them in Teensy...
You can only use the the USB mode you selected.
Raw HID for raw hid only
Keyboard+Mouse+Joistick for Keyboard and/or Mouse and/or Joystick
etc.
The different modes provide the needed USB description
BTW, do you really still have a Teensy 2.0 ???
I guess, part of the task is to demonstrate how these interfaces work. What I would do is to take your STM32 implementation as API template and study/use the Teensy implementations together with the IMRXT datasheet and fill your API. It can be...
The INMP441 must be connected in place of the audio shield. However, the connection used by the audio shield may guide how the INMP441 may be connected. Have a look at https://www.micropam.com/microPAM-T4_hardware.html to see how T4.1 is...
You have a lowpass filter with a corner frequency of 500Hz, so all frequencies <500 Hz will pass and due to not sufficient steep roll-off also some frequencies above 500 Hz.
In order to remove 400 Hz and above, you must reduce the corner...
Not sure if connection is correct. Teensy4.1 does not tollerate 5V (Vin is 5V). I would connect to 3.3V to avoid any problems. OK, I hardly use UART, so I'm not sure if +V is required and GND is sufficient.
What is the reference amplitude?
decibels are relative measurements.
Also decibel of amplitude(0) does not exist. It is minus infinity!
now to your question:
Assume reference amplitude is 1.0, then
the amplitude(0.9) =...
Did not continue that work, as the CSAC I had on loan did not keep vacuum for temperature > 30° C.
Also, I was not sure if the required PLL would be sufficient phase jitter free.
The method by Paul in #6 works also for MTP responder to reset MTP after writing files to disk!
Only drawback is that open Teensy Filexplorer will disappear and has to be opened again.
If that is accepted behavior no more sendEvent is needed
@joepasquariello: SD access ONLY blocks other actions in loop(). If ALL other functions run at interrupt level these are NOT blocked. In acquisition systems it is anyway preferable to have acquisition and RT processing at interrupt level (as...
If you have acquisition running at interrupt level and sd card access in loop(), then SD card access is not blocking acquisition. See the different logger examples.
SdFat could be set to DMA if SPI access (i.e NOT T4.1 built in SDcard) but Bill...
Well, as you use SPI to an external ADC (according to OP) this is not an Teensy ADC problem. Also, if data are corrupt after ADC, as it seems, there is no way to reconstruct. In other words, this is no Teensy SW issue, but a ADC HW/SW issue.
Of...
I'm using https://www.adafruit.com/product/2124 and had no issues so far.
For this
- I cut VUSB/VIN on Teensy
- connect VUSB to 5V
- connect GND to GND
- connect VIN to VBAT
- I enable 500 mA loading current
I use an Adafruit 4400 mA Lipo...
After looking to the setup picture, I would conclude that you cannot get ever with a flying setup (pins connected breadboard style) any low noise result. To see what is goung on, plot say the 10 or 100 ms of data. I'm certain you will see the 50...
The simpest way to have hight throuput to SD card is
- to have all processing at interrupt level
- handly SD card operation in loop()
- use of large (e.g. 16 MByte extmem) ring buffer
This is equivalent to non-blocking operation.
Works for me for...
Well, as I could overcome the issue, I did not enquire further. As the OP asked for similar experience, I gave my own one. Maybe I can try to reproduce the problem as I have still earlier versions of the code.
I had this start - crash - start - crash sequence recently, when I compiled older programs with new TD 1.59.4. In all cases, the use of Wire was the culprit. Changing the way Wire was initialized and used resolved the problem. I guess this has...
Nothing if your acquisition runs on interrupt level and mtp.loop is called from main loop. In order to see the file on the PC, MTP must be unmounted and remounted. For this operation, the PC expects some response from Teensy. If Teensy is busy...
My mode of operation is to call mtp.loop only when not acquiring data, that is when acquisition is stopped. Yes, there is no need to call mtp.loop continuously.
MTP can only be closed by the PC by unmounting the MTP device. Remember within MTP PC is the host/master and Teensy is the device/slave. ONLY the PC can give instructions that are to be executed by Teensy. In theory, PC could listen to requests...
Stimulated by the OP I spent some time to script the uploading of a hex file to multiple teensies. The uplad is sequentially and uses standard CLI uploader. I tested it in all three modes program-button pressed, seremu and serial. Maybe it may...
One after the other. Essentially, it first gets a list of all teensies on the PC (com ports), then loops through the list and puts each teensy into programming mode and uses the standard cli program to upload the program. The idea was to use the...
As I mentioned a python script, I just did a quick and dirty one and tested it on two teensies hooked up to a USB hub
import subprocess
import time
import serial
from serial.tools.list_ports import comports
sx=comports(True)
for s in sx:
#...
OK, 8 years ago I modified the PJRC CLI code (not used is for years now), but nowadays I would write a python script that first scans all com-ports and hid-devices for a teensy. I would then identify the teensy type (only needed if mixed models...
Using CLI this is possible, as the first step is to find one or more Teensies. You can determine in which state it is: Bootmode has an own PID code. Standard CLI code must, however, be extended to loop through all Teensies on PC.
Well, I had alos to do frequently the decision: TD or not. Unfortunately, SDFat from TD is diverged from Bill's version in more than one point.
You can use SDFat functionality by using SD.sdfat.xxx, but most funtionality is also accessible vit SD...
@SteveFX, remove the SDFat library from your local library. latest TD (don't recall which version) integrated SDFat and made SD an interface to SDFat. Use only SD calls.