Search results

  1. C

    USB interface for multi channel outputs, not just stereo

    @alex6679 Bit off topic question related to this thread: Resampling I2S slave inputs at the T4/ T4.1 Do you think it's possible - resample between 8khz ~ 50khz 8 channel 16bit TDM on T4.1 ? Since you can't change USB frequencies @ run time I would love to have I2S slave input resampling the...
  2. C

    Linux Usb audio issue with Teensy 4.1

    Alex on Windows I use USBDeview right click on VendorID 16c0 (I believe that's T4.x) and uninstall selected device now when you plug in USB T4.x it will reinstall with new configurations. USBDeview v3.07 by NirSoft
  3. C

    Quicker Pin Change interrupts

    I'm not sure I understand your issue but the delay(1000) will probably not work too well. Try this example non-blocking loop(). // IntervalTimer myTimer; // NOT IN USE HERE const byte interruptPin = 2; //button volatile unsigned long blinkCount = 0; // use volatile for shared variables unsigned...
  4. C

    USB interface for multi channel outputs, not just stereo

    WoW :D I've been using your asynchronous spdif input successful and now you bring us hope for USB 8ch. Alex thanks for this wish I have time to test this out now.
  5. C

    Teensy 4 Multi-pin TDM audio, Multi-channel USB, and variable sample rates

    USB interface with configurable number of channels and sample rate sounds very interesting.
  6. C

    Serial comunication between Teensy 4.1 and Arduino Nano 33 IOT

    I think you need to use different pins on Arduino Nano 33 IOT. - UART (Universal Asynchronous Receiver-Transmitter)
  7. C

    Code ported from Teensy3.0 to 3.2 - now flakey

    By default pinMode configure the pin with a feature called slew rate limiting maybe that's the problem ? void setup() { pinMode(?, OUTPUT); CORE_PIN?_CONFIG &= ~PORT_PCR_SRE; // turn off the slew rate limit } EDIT: Not sure if this will work for input instead of output ?
  8. C

    Code ported from Teensy3.0 to 3.2 - now flakey

    Interesting. Here is my (Atari HD brick) HD ACSI implementation with Media Transfer Protocol. I'm pushing the limits of the Atari ST/e DMA speed, based on Teensy 4.1. :D
  9. C

    Code ported from Teensy3.0 to 3.2 - now flakey

    Hey I am just curious is there any more information about your project somewhere for the Atari ST disk drive ? Just asking because I am big fan of Atari computers. Here is one of my projects for Atari Falcon 030 FDI+ Work In Progress !!!
  10. C

    Code ported from Teensy3.0 to 3.2 - now flakey

    PRIORITY for USB defaults to 112, the hardware serial ports default to 64, and systick defaults to 32 (was 0 long time ago).
  11. C

    Code ported from Teensy3.0 to 3.2 - now flakey

    Teensy 3.x -- pin 22 on PORTC // ptc1
  12. C

    Code ported from Teensy3.0 to 3.2 - now flakey

    You can only set the priority for the whole port not just one pin. void setup() { // put your setup code here, to run once: NVIC_SET_PRIORITY(IRQ_PORTD, 0); } void loop() { // put your main code here, to run repeatedly: }
  13. C

    Code ported from Teensy3.0 to 3.2 - now flakey

    Interesting I was going to post but I'm too slow :) On which port is this pin --> fromFDDindexPin (visible on the schematics).
  14. C

    Code ported from Teensy3.0 to 3.2 - now flakey

    It's been a while not sure but I think all Teensy 3.0 had black PCB?
  15. C

    Code ported from Teensy3.0 to 3.2 - now flakey

    Well there is issue with the code actually. #if defined(__MK20DX128__) Serial.println( "CPU is T_3.0"); // FIX ME ): #elif defined(__MK20DX256__) Serial.println( "CPU is T_3.1/3.2"); #elif defined(__MKL26Z64__) Serial.println( "CPU is T_LC");
  16. C

    Code ported from Teensy3.0 to 3.2 - now flakey

    I am curious if you overclock the F_BUS in (kinetis.h line:764 file) will things improve ? This may help a bit: void setup() { // put your setup code here, to run once: Serial.begin(115200); while (!Serial && millis() < 2000 ); // 2 sec timeout CPUspecs() } void loop() { // put your...
  17. C

    test thread

    Hi all :) This is just a test.
  18. C

    I2S TRX synchronizing with external clock

    The Teensy audio library can be made to work with slave mode but it does need to be modified. For example 4 data input slave ( i use this with CoolAudio ADAT V1402 ) /************************* slave ********************************/ void AudioInputI2SOctslave::begin(void) { dma.begin(true)...
  19. C

    I2S TRX synchronizing with external clock

    I am assuming you are not using Teensy Audio Library. This looks easy with the audio library perhaps with some audio library modifications. Only use SAI1 because it is actually well flexible it can have up to 4 input data with 1 data output. /* A simple PassThroughQuad hardware test. The...
  20. C

    Autodetect/ -connect Teensy to PC using Python

    I am assuming you don't have this in the setup() { while (!Serial) ; // wait } ;) in case you do I usually stick to this: void setup() { // put your setup code here, to run once: Serial.begin(57600); while (!Serial && millis() < 5000); // wait for Serial Monitor with a 5sec timeout. }
  21. C

    Teensy 4.1 with QSPI?

    If you are excellent with soldering perhaps buying the TEENSY 41_NE Without the Ethernet Chip will do it. U6 DP83825 Ethernet transceiver IC LPSPI4 PCS0 - routable to 2 pins GPIO_B0_00 -- GPIO_B1_04 PCS1 - GPIO_B1_03 PCS2 - GPIO_B1_02 PCS3 - GPIO_B1_11 SCK - routable to 2 pins...
  22. C

    Teensy 4.1 with QSPI?

    This might help a little bit: Teensy 4.1 Schematic
  23. C

    Achieving slow (10 kHz) SPI clock on Teensy 4.1 using LPSPI TCR PRESCALE

    To really understand how all the clocking and dividers are set up I suggest to use this tool: MCUXpresso Config Tools ---- Free download :D After installation you do have to find the correct MCU (MIMXRT1062xxxxB)
  24. C

    6 channel line level audio interface with teensy 4.1?

    I can tell you I will definitely look when I have a bit more time, sounds interesting to me.
  25. C

    6 channel line level audio interface with teensy 4.1?

    In my opinion getting 8 channels USB it's one thing but getting it without any glitches it's another. My biggest issue is I am getting a bit of a glitching sound on USB (WIN10) regardless if I use the standard 2 Channel USB audio library or my own modified 8 channel USB audio library based on...
  26. C

    ADAT white noise on Teensy 4.0

    Now I've got 16 channels ADAT OUT using PLL5_VIDEO, AudioInputSPDIF3 or AsyncAudioInputSPDIF3 together with AudioOutputSPDIF3 -- Teensy 4.x only!!!! ;) TODO: Test i2s Modified PassThroughAsyncSpdif example. #include <Audio.h> #include <Wire.h> #include <SPI.h> #include <SD.h> #include...
  27. C

    Audio library with external clock, or PLL modification

    I think you miss calculated something here: 24000000 * (28 + 224/10000) = 672,537,600 -- Freq 44100 -- OSC_24000000Mhz *(28 + (2240/10000)) = 677,376,000 c0 DIV 28 c1 NUM 2240 c2 DENOM 10000 n1 PRED/ 4 -- 677,376,000 / 4 = 169,344,000 n2 PODF/ 15 -- 169,344,000 / 15 =...
  28. C

    ADAT white noise on Teensy 4.0

    Well I've been hacking with this some more and I got this ADAT going on SAI3 (Teensy 4.x only), that's right the SAI3 used for Medium Quality Sound (MQS).:D Tx_Data0 out on Pin 31- EMC36, There is also MCLK3 on Pin 30 - EMC_37 if needed, I'm thinking about using it as input slave for my project.
  29. C

    ADAT white noise on Teensy 4.0

    Ok here I am releasing complete output_adat.h and output_adat.cpp files for T.3.x and T4.x. I've been testing these on T3.1 and T4.1. Chris O. 3/25/2023 Fix compile error on Teensy LC T4.x -PLL frequency correction @88200 for ADAT @44100, MCLK-22,579,200MHz was 22,579,125MHz T4.x -Disabled...
  30. C

    Audio library with external clock, or PLL modification

    Change only c1 value by add or subtract by 1. // -- Freq 88200 for 44100kHz ADAT, MCLK1 22,579,125Mhz -- we need 22,579,200MHz // c0 DIV 30 -- OSC_24000000Mhz *(30 + (1055/10000)) = 722,532,000MHz // c1 NUM 1055 <--- issue // c2 DENOM 10000 // n1 PRED/ 4 -- 722,532,000 / 4 =...
  31. C

    ADAT white noise on Teensy 4.0

    Ok for other frequencies it's all good only the 88200 I'm having this problem. // -- Freq 96000 for 48000kHz ADAT, MCLK1 24,576,000Mhz // c0 DIV 28 // c1 NUM 6720 // c2 DENOM 10000 // n1 PRED/ 4 // n2 PODF/ 7 // MCLK-- 24,576,000 MHz good@48000 // -- Freq 48000 for 48000kHz, MCLK1...
  32. C

    ADAT white noise on Teensy 4.0

    I'm having a bit bigger issues here on Teensy 4.x master clock frequency. This has something to do with the calculations in this part: // PLL between 27*24 = 648MHz und 54*24=1296MHz int n1 = 4; //SAI prescaler 4 => (n1*n2) = multiple of 4 int n2 = 1 + (24000000 * 27) / (freq * 256 *...
  33. C

    ADAT white noise on Teensy 4.0

    I tried to use less samples that was easy. \libraries\Audio\examples\HardwareTesting\ADAT_DrumSamplePlayer void loop() { sine1.amplitude(1.0); sound0.play(AudioSampleKick); delay(250); sound1.play(AudioSampleHihat); delay(250); sound1.play(AudioSampleHihat)...
  34. C

    PJRC Server Change

    I had the same issue today with the 'spinning' but I just posted in Audio Projects with no issues. Edit: well the spinning is back :confused:
  35. C

    ADAT white noise on Teensy 4.0

    ;) I've got Teensy 3.0 BLACK ): but the ATAT_DrumSamplePlayer sketch will not fit in region `FLASH' 1.8.19/hardware/tools/arm/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: region `FLASH' overflowed by 77720 bytes. I guess I need to find something newer :cool:
  36. C

    Faster way to read in digital inputs into a byte value

    AD_B1_00 basically PORT name similar to Arduino Uno: PORTA, PORTB, PORTC. Direct port manipulation will yeld the best performance but you need to connect the wires (pins) correctly so you can read the bits in one go without too many calculations (bit shifting).
  37. C

    ADAT white noise on Teensy 4.0

    I guess I can confirm that the ADAT OUT on T4.1 works like a charm ): Soon I will release a complete -- output_adat.h and output_adat.cpp for T3.x and T4.x. as soon as I can find Teensy 3.x for testing.
  38. C

    Faster way to read in digital inputs into a byte value

    // T4.1 bit pin //01 <-> GPIO6-16 19/A5 AD_B1_00 Data BIDIR Teensy Data BUS 0-7 INPUT & OUTPUT //02 <-> GPIO6-17 18/A4 AD_B1_01 //03 <-> GPIO6-18 14/A0 AD_B1_02 //04 <-> GPIO6-19 15/A1 AD_B1_03 //05 <-> GPIO6-20 40/A16 AD_B1_04 //06 <-> GPIO6-21 41/A17 AD_B1_05...
  39. C

    38.5.1.5 SAI Transmit Configuration 1 Register (TCR1), \teensy4\imxrt.h -Name issue ?

    38.5.1.5 SAI Transmit Configuration 1 Register (TCR1) p.1987 Correct me if I'm wrong but I was looking for I2S_TCR1_TFW(n); // Transmit FIFO Watermark in \hardware\teensy\avr\cores\teensy4\imxrt.h I do see: #define I2S_TCR1_RFW(n) ((uint32_t)n & 0x1f) // Receive FIFO watermark I believe...
  40. C

    Discussion about a simple way to change the sample-rate

    Thanks. All this is new to me. I will look at the code when I have a bit more time, basically I'm trying to recreate this device for my classic 1992 Atari falcon 030 with the Motorola DSP 56001 @ 32 MHz. Edit: Added for complete example. ___________________________________________ CCM ANALOG...
  41. C

    Discussion about a simple way to change the sample-rate

    I need simple way to change the sample rate and master clock at runtime :rolleyes: Slowly going through the IMXRT1062 Teensy 4.x data sheets. For 44,100kHz I need: MCLK-22,579,200Mhz BCLK---5,644,800Mhz -8ch-16b. LRCLK-----44,100kHz -4ch stereo ___________________________________________ CCM...
  42. C

    Teensy 4.1 ADC Channels

    Maybe this thread will help - Teensy 4.0 which pins for which ADC
  43. C

    Teensy 4.1 CPU frequency steps?

    If you really want to dig into the Clocks or PLL settings I prefer to mess with LINK: MCUXpresso Config Tools.
  44. C

    Problems Using a 1.54" OLED Display With Teensy 3.2

    Well I'm glad everything worked out :) In case you find this useful you can also control OLED brightness with this hack: void setup() { display.begin(SH1106_SWITCHCAPVCC, 0x--); // initialize with the I2C addr 0x3D (for the 128x64), SH1106 addr 0x3C. display.SH1106_command(0X81); //...
  45. C

    Problems Using a 1.54" OLED Display With Teensy 3.2

    Let's make this easier. New updated library: This is the test code i use: /********************************************************************* This is an example for our Monochrome OLEDs based on SSD1306 drivers Pick one up today in the adafruit shop! ------>...
  46. C

    Problems Using a 1.54" OLED Display With Teensy 3.2

    Ok I just got back from work. Here is the fix for compile issues for all Teensy models (2.0 to 4.1 + MicroMod). In file Adafruit_SH1106.h edit this: // #ifdef __SAM3X8E__ // typedef volatile RwReg PortReg; // typedef uint32_t PortMask; // #else // typedef volatile uint8_t PortReg; //...
  47. C

    Problems Using a 1.54" OLED Display With Teensy 3.2

    Interesting this seems to compile on Teensy 4.1 with no issues. Teensy 3.x compile issues. /********************************************************************* This is an example for our Monochrome OLEDs based on SSD1306 drivers Pick one up today in the adafruit shop! ------>...
  48. C

    Problems Using a 1.54" OLED Display With Teensy 3.2

    Try this Library: You may have to edit the Adafruit_SH1106.h file with correct I2C Address. #define SH1106_I2C_ADDRESS 0x3C // 011110+SA0+RW - 0x3C or 0x3D // Address for 128x32 is 0x3C // Address for 128x64 is 0x3D (default) or 0x3C (if SA0 is grounded)...
  49. C

    Incredibly slow loop time on Teensy 4.0

    try digitalWriteFast(CYCLE_TIME, cycle);
  50. C

    Suggestions for testing a magnetic tach sensor.

    (INAdj) External resistor to ground that sets the trip levels of both channels. Functions for both diagnostic and normal mode. See datasheet: https://www.onsemi.com/pdf/datasheet/ncv1124%20data%20sheet.pdf
Back
Top