Forum Rule: Always post complete source code & details to reproduce any issue!

Search:

Type: Posts; User: mborgerson

Page 1 of 5 1 2 3 4

Search: Search took 0.00 seconds.

  1. LOL! Just because the software works on my board...

    LOL! Just because the software works on my board doesn't mean it will work on your board! As a point of reference, here is the board I'm using:
    ...
  2. Replies
    1
    Views
    80

    TLI (the opposite of Too Much Information)! ...

    TLI (the opposite of Too Much Information)! Sampling 4 channels at 40KHz is no big issue--the T4.1 can easily sample at up to 1 million samples per second. The details in which the devil resides...
  3. Replies
    0
    Views
    22

    CSI Camera Library

    In a thread on the technical support forum https://forum.pjrc.com/threads/63195-Problem-trying-to-read-OV7670-camera-under-IRQ-Teensy-4-0
    I've been working with the OV7670 camera and a number of...
  4. If you have byte reversal, the image will look...

    If you have byte reversal, the image will look like a thermal sensor image with lots of bright red and green, but with the expected shapes.

    You can fix that by starting your bitmap upload offset...
  5. Replies
    5
    Views
    166

    Is it possible that the T3.2 and the Arduino Mega...

    Is it possible that the T3.2 and the Arduino Mega have different default settings for SPI clock phase and polarity?
  6. I'm using Arduino 1.8.13 on Win10x64. I've...

    I'm using Arduino 1.8.13 on Win10x64.

    I've added some code to save the bitmap to a .bmp file on the SD card so you can plug it in to your PC to view the image.



    // t4.1 PIN input and image...
  7. I think the pin definitions in OV7670_MB are...

    I think the pin definitions in OV7670_MB are commented out. They should have been removed as they are not used.

    The output is an 640 x 480 array of 16-bit RGB565 values. My PC host converts...
  8. Sorry about that. When I posted the CSI and...

    Sorry about that. When I posted the CSI and Camera stuff, I forgot that those elements referred to some global variables in the interrupt routine for the CSI.

    This simple front end should build...
  9. The pullups on SCL and SDA are 4.02K

    The pullups on SCL and SDA are 4.02K
  10. Workable CSI code

    I just noted that on my capture of the Excel sheet, I had CSI_PIXCLK on pin 35-----which will work if you adjust the IOMux setup. However. after I captured that picture, I decided to move PIXCLK to...
  11. OK, I've finally got the T4.1 and the OV7670...

    OK, I've finally got the T4.1 and the OV7670 talking nicely. I spent most of the day tracking down one misconfigured register in the CSI. I kept having problems with the picture wandering around...
  12. I'm about 90% of the way to getting the T4.1 to...

    I'm about 90% of the way to getting the T4.1 to read the OV7670 using the CSI. It's pretty neat in that it just cranks away under the hood, collecting buffers of VGA images using DMA. You don't...
  13. You could also us the ADC timer of the ADC...

    You could also us the ADC timer of the ADC library to set the sampling interval. If you do that properly, you can avoid the sampling jitter that can happen with an external timer that can have its'...
  14. Five or ten years ago, I would have bid on this...

    Five or ten years ago, I would have bid on this project at a price that would send my wife and me to Europe for a month of travel in Switzerland and along the Rhine river in Germany. However, I'm...
  15. DOH! (Slapping self upside the head!) So in...

    DOH! (Slapping self upside the head!) So in this application, it should be able to crank right along as it is reading linearly increasing contiguous bytes. The PSRam should only require an initial...
  16. I've tuned up my TA4.1 code and my PC image host...

    I've tuned up my TA4.1 code and my PC image host program to speed up transfer of images from the PSRam image buffer to the PC. In fact, it seems to be working impossibly well! I'm getting a...
  17. I've gotten my soldered breadboard working with...

    I've gotten my soldered breadboard working with the t4.1 wired for the pins needed to use the SCI. The current version of my code follows Cyrille's plan (interrupts for VSync and HSync and polled...
  18. Replies
    8
    Views
    339

    Once you figure out how to get part-per-million...

    Once you figure out how to get part-per-million timing resolution, you can start to worry about stability. Since the crystals on the Teensy probably have temperature coefficients of up to 25PPM/deg...
  19. To modify the bottom part of the Arduino IDE, ...

    To modify the bottom part of the Arduino IDE, you need to edit the Theme.txt file which is at:

    C:\arduino-1.8.13\lib\theme\theme.txt (Arduino was placed at C:\ on my machine)

    Here is the...
  20. This code from BrainGram seems to connect signals...

    This code from BrainGram seems to connect signals 2-9 by manipulating the IOMUX (which, like the XBARs is still a mystery to me):



    // VSYNC
    IOMUXC_SW_MUX_CTL_PAD_GPIO_AD_B1_06 = 0x4U;
    ...
  21. In some ways, the analog capabilities of the T4.X...

    In some ways, the analog capabilities of the T4.X fall behind the T3.X. The T4.X has no internal DAC. They are also limited to using the 3.3V power supply as the ADC reference voltage. This...
  22. Replies
    23
    Views
    896

    I just noted that you asked for a chirp ranging...

    I just noted that you asked for a chirp ranging from 1Hz to 60KHz to play 6 times per second. You need to rethink that frequency range, since you can't play a 1Hz signal 6 times per second!
  23. Replies
    23
    Views
    896

    Since the T4.1 doesn't have an internal DAC, you...

    Since the T4.1 doesn't have an internal DAC, you would need to add an external DAC to get a sine-wave output.

    Here is the code I used to make a chirp table:


    // chirp data float from -1.9 to...
  24. @Kurte: I'm planning to solder up a proto...

    @Kurte: I'm planning to solder up a proto board for the OV7670 in a few days. I intend to use 8 contiguous port pins for the camera data bits, and I thought I'd also have optional wiring to use...
  25. A simple collection routine to get 4 channels...

    A simple collection routine to get 4 channels from the Teensy 4.X ADC channels at 9600 samples per second with an Intervaltimer should consume only about 2% of the CPU resources (~2 microseconds...
  26. Progress

    22025

    I've made reasonable progress getting the OV7670 to work on my T4.1 breadboard. I'm using Cyrille's algorithm where there are interrupts for frame sync and HREF. The HREF service routine...
  27. Within the limits of my 60MHz oscilloscope, it...

    Within the limits of my 60MHz oscilloscope, it seems you get pretty good square waves when you request an analogWriteFrequency() which divides into 150MHz an even number of times:

    150/6 = ...
  28. Offhand, I'm not sure about the Teensy 3.5, but...

    Offhand, I'm not sure about the Teensy 3.5, but on the T3.6, you can have your ADC pins use an internal 1.2V reference. This reference will not be affected as much by the the current spikes from SD...
  29. Replies
    3
    Views
    193

    It would help a bit if you defined what you mean...

    It would help a bit if you defined what you mean by "random values". Do you get values from 0 to 1023 (the full scale for 10-bit resolution), or random over some smaller range near the expected...
  30. I dug up some code from earlier forum posts and...

    I dug up some code from earlier forum posts and figured out how to switch pin 0 (GPIO1_3) as pixel clock to a slow-mode port pin. It does give a faster interrupt response--the time from clock...
  31. According to the app note at : ...

    According to the app note at : https://www.nxp.com/docs/en/application-note/AN12078.pdf

    It should only take about 12 clock cycles. However, I followed the methodology in the app note and found...
  32. I think I've measured the time required to enter...

    I think I've measured the time required to enter and exit an empty ISR. That time is 103 clock cycles. I arrived at this number as follows:

    In a tight loop, read the ARM clock counter in two...
  33. I guess that means that to meet the OV7670...

    I guess that means that to meet the OV7670 waveform specs you would need to limit the clock to 25MHz (3 cycles on , 3 cycles off). If you set up the pixel clock that way, the time between pixels is...
  34. If you want to speed up your pizxel processing...

    If you want to speed up your pizxel processing you can get your pixels directly from the GPIO6 data register and do some bit manipulation. The direct read version in the attached code runs about 7...
  35. Have you run across this thread that shows how to...

    Have you run across this thread that shows how to read a CMOS camera using the CMOS Sensor Interface (CSI) of the IMhttps://forum.pjrc.com/threads/62038-Teensy-4-1-CSI-Example

    The code is not for...
  36. Replies
    5
    Views
    244

    My original values worked OK for 500Hz. If you...

    My original values worked OK for 500Hz. If you want to go down to 100Hz, you need larger resistors and capacitors. It will also depend on the value of the internal pullup resistors on Pin 17. I...
  37. Replies
    5
    Views
    244

    I don't think you'll have much luck finding a...

    I don't think you'll have much luck finding a software-only solution as the FreqMeasure library needs signal transitions and I think those transition thresholds are fixed in the hardware of the I/O...
  38. Replies
    47
    Views
    2,173

    The code in Post #26 writes the ADC data to the...

    The code in Post #26 writes the ADC data to the PSRAM at a speed determined by the ADC conversion speed settings---which is not exactly 1MSamples/second. The code in Post #45 writes to the SD Card...
  39. That is the basis of my question about the...

    That is the basis of my question about the validity of micros() if interrupts have been disabled for more than a millisecond. If a systick() interrupt is missed, by disabling interrupts, will...
  40. I have had no problems using micros() inside an...

    I have had no problems using micros() inside an interrupt handler---as long as the handler executes in less than a millisecond.

    The code in post #1 shuts off interrupts for the duration of...
  41. Replies
    47
    Views
    2,173

    A Quick Note: I was able to run the demo code...

    A Quick Note: I was able to run the demo code in post #45 on a Teensy 3.6 by reducing the buffer sizes a bit and setting the sampling rate to 240KSamples/second. The T3.6 uses the PDB delay block...
  42. Replies
    47
    Views
    2,173

    Trapped indoors by wildfire smoke in the...

    Trapped indoors by wildfire smoke in the Willamette valley, I decided to revisit this issue. I came to several conclusions:

    1. You can collect a single channel of ADC data at 1.000 MHz without...
  43. Replies
    27
    Views
    856

    One way to get a pulse at each change in a clock...

    One way to get a pulse at each change in a clock is to use an XOR circuit like the one shown below. You delay one of the inputs with an RC network to set the pulse width. As others have pointed...
  44. Replies
    27
    Views
    856

    While I appreciate the need for speed in some...

    While I appreciate the need for speed in some applications, it seems that you may be running up against hardware limits, both in pin drive and cpu instruction cycles.

    Where are you getting the...
  45. UhClem is correct. I looked in the SDFat 2.0b...

    UhClem is correct. I looked in the SDFat 2.0b code and interrupts are masked in only one place and that for about two instructions. That would not account for any sampling jitter.

    I think the...
  46. Replies
    7
    Views
    3,080

    You may also run into issues when you try to run...

    You may also run into issues when you try to run the SCK to multiple SPI devices. If the SCK (or any of the other signals) are connected directly from the Teensy to all the devices with only...
  47. Rather than RS-485, you might consider a pair of...

    Rather than RS-485, you might consider a pair of 915MHz transceivers. They should handle 200 feet unless one or both ends of the link are RF-shielded. You can probably find a pair of transceivers...
  48. LOL! According to the EPA the "Hazardous" air...

    LOL! According to the EPA the "Hazardous" air quality index ends at 500. There's even a link on the AirNow.gov web site about what to do when the index goes off scale above 500: ...
  49. The Honeywell HPMA115 sensor in my setup is...

    The Honeywell HPMA115 sensor in my setup is usually within 10% of the EPA sensor about a mile away. Unfortunately, the EPA sensors seem to go off line and return "ND" at very high concentrations. ...
  50. I think we've stepped into the twilight zone...

    I think we've stepped into the twilight zone here. While I've acquired and stored a lot of ADC data at high rates with the T4.1, it has never been with a 16-bit parallel interface. I've used the...
Results 1 to 50 of 216
Page 1 of 5 1 2 3 4