Search results

  1. S

    100 +/- inputs and outputs (analog?)

    Hi Gef Those expansion devices over I2C will not be much good at all for analog signals. They are really suitable for low speed digital IO. There are SPI versions of these devices available that can obviously increase the update bandwidth however this still would be poor. It looks like you are...
  2. S

    SPI frequency too low for real-time data acquisition

    Hi bigdlin, For a data point, my board has no issue running the SPI clock at 50MHz for the ADC I'm using with a Teensy 4.1.
  3. S

    SPI frequency too low for real-time data acquisition

    This seems very curious and not the norm: Typically the SPI bus is shared and additional CS lines are used to select the chip you want to talk to. Why are they doing it this way? bigDlin do you have them wired this way? Is it working? Also I meant to ask previously, have you tried running...
  4. S

    SPI frequency too low for real-time data acquisition

    That chip produces 16 bit results ie 16bit multiplexed ADC.
  5. S

    SPI frequency too low for real-time data acquisition

    Is the data actually 32bits? or is it a 24bit converter sending a 4byte result? Depending on the converter, some will allow the result (eg ADC) to be sent as 3 bytes (24bits) instead of the 32 saying you 25% throughput.
  6. S

    Need advice on PCB manufacturers

    I had been using PCBWay for everything up until recently when they dramatically increased their pricing on 4 layer boards. A 100mm x 100mm 4 layer board from PCB Way is about 4 to 5 times the price of the same design from JLCPCB which I found incredible. Quality from both has been great so...
  7. S

    Writing Data to Teensy 4.1 microSD

    Looking at your loop, it seems that you will keep opening and writing to your file indefinitely. Is that why you have append as an option/mode?
  8. S

    [no Teensy?] +/-5V power from USB

    Hi DrM My ADC input full range is only +-1.2V hence the +-4V is plenty of room. I am using these as my front end buffer amplifiers. They are working very well in my current application...
  9. S

    [no Teensy?] +/-5V power from USB

    Hi DrM Looking good. How much current and at what voltage ripple are you getting out of your design? I have now used a charge pump device to do something similar but with 5V input and +-4V outputs. I have a DAQ board which requires a bipolar supply for some front end op-amps...
  10. S

    Interfacing ADS7828 to Teensy 4.0 via I2C

    One thing to think over is that the Teensy 4.1 is not 5V tolerant so if at some time you have accidentally pulled up to 5V maybe you have damaged the I2C bus IO on the Teensy? Do you have an DSO or logic analyser to look at the signals?
  11. S

    Interfacing ADS7828 to Teensy 4.0 via I2C

    That looks correct. However one issue you need to be very careful of is ensuring that SDA and SCL are not pulled up to or being driven to 5V. Is your ADC running off 3.3 or 5V?
  12. S

    Interfacing ADS7828 to Teensy 4.0 via I2C

    In my working system I used the address 0x48, 0x49 etc
  13. S

    Thoughts on importance/need for encrypted firmware ie locked Teensy

    Hi Paul, I don't have any issue with the process you have created at all. My question for the forum is how important people feel it is to use this for a product that is going out to consumers. One thing that does weigh into this a little is the availability of the lockable boards vs the std...
  14. S

    Interfacing ADS7828 to Teensy 4.0 via I2C

    Hi Smuscat, Recommend you look at the pullup resistors as well (not sure if you have done so?) Are your connections made to the SDA0 and SCL0 pins? This is important as you have not defined pins other than default in your code. I also not that in your wait for data, you are triggering once a...
  15. S

    Thoughts on importance/need for encrypted firmware ie locked Teensy

    Hey Mark, Thanks for your considered response. Your product sounds very nice! I can see for products that have actuators or potential safety issues then preventing other versions of firmware from being loaded is a very good reason to enable the locked/encrypted mode. I am happy for users to...
  16. S

    Thoughts on importance/need for encrypted firmware ie locked Teensy

    I have a product I've developed for which I use the Teensy 4.1, it is a data acquisition and related product. I was initially planning to provide these with the locked version of the Teensy 4.1 so I could prevent people from copying the firmware onto other teensy boards but this seems a bit...
  17. S

    Interfacing ADS7828 to Teensy 4.0 via I2C

    Hi smuscat, I have done this exact thing recently and managed to have it working well now. I would check that you have appropriate pull up resistors on the I2C lines. I had 4k7 resistors and was running a clock freq of 400kHz and with the length of my cables and number of devices on the bus...
  18. S

    Teensy 4.1 Ethernet Kit w/POE Module

    I have used these in a few projects and use the output do supply a buck converter that supplies 5V to my board including the Teensy 4.1 https://www.digikey.com.au/en/products/detail/abracon-llc/ARJM11D7-114-AB-EW2/7675220 One could design a small board with a built in 5V buck converter and...
  19. S

    what looks like Buffer corruption of large buffer passed to function - Teensy 4.1 Platform IO

    Well damn, this turns out to be a simple (albeit very timewasting) typo....... There is no factstical pointer issue, just a screwup with the index calculation...
  20. S

    what looks like Buffer corruption of large buffer passed to function - Teensy 4.1 Platform IO

    Another data point, I am passing a huge 16Mbyte array I have defined as; EXTMEM volatile uint8_t bigbuffer[BIG_BUFFER_SIZE]; // 16Mbytes as single bytes To a function defined as: void megunoLinkChartHSLoggedData(Stream* port, loggerConfigType* configuration, experimentDetailsType*...
  21. S

    what looks like Buffer corruption of large buffer passed to function - Teensy 4.1 Platform IO

    Hi All, I have a curious corruption of a failry large ram buffer defined in my project running on a Teensy 4.1 with numerous libraries, high speed ISR driven by ADC interrupts etc. This one has got me stumped as it is reliably corrupting it seems after a particular index, but not all of the...
  22. S

    Very high code RAM usage

    Oh wow! I did not know that. Thanks for the heads up. I was going a bit mad for a while as the behaviour was very odd to say the least.
  23. S

    Very high code RAM usage

    So have had a rather unexpected issue with my code after implementing the TEENSY_OPT_SMALLEST_CODE flag. I was having all sorts of issues with floats not being handled as expected using printf. Unexpected problems like incorrect chars and the float not actually appearing in the string/stream...
  24. S

    Very high code RAM usage

    Thanks guys. I have tried just changing the optimisation flag to TEENSY_OPT_SMALLEST_CODE (Iam using Platform IO) and this has reduced the RAM1 usage for code by a bit over 100kB :-) I'll go through and change as many functions to use the FLASHMEM directive and see if that can help also...
  25. S

    Very high code RAM usage

    Hi All I have a project using a Teensy 4.1 with many peripherals, quite large line count and numberous large buffers used for logging multiple peripheral data streams. It seems I have something going on in my code that is using a very large amount of ram ie being allocated for runtime usage...
  26. S

    Reading current clock freq on Teensy 4.1

    I am able to set the frequency successfully using the extern set_arm_clock() but is there a similar lib function for get_arm_clock() ?
  27. S

    Library function to extract unique ID from PSRAM chips

    Hi Joe My bad, I was looking at a datasheet for a similar product which did have a unique ID. However, thanks for the reference to the function.
  28. S

    Library function to extract unique ID from PSRAM chips

    Hi All, I'm keen to see if any library calls exist to extract the unique IDs from the PSRAM chips. This would be in a low level lib function I am not aware of and frankly do not know where to look.... This would be another unique ID that can be used by the Teensy 4.1 for identification. Where...
  29. S

    issues with USB mass storage function within TeensyThreads

    Joe that sounds very interesting, will be sure to keep my eye out for that.
  30. S

    issues with USB mass storage function within TeensyThreads

    Ahh ok, are you able to advise what you are using?
  31. S

    issues with USB mass storage function within TeensyThreads

    Ok, that is what I am doing then. Will go look at the documentation, but do you know if that main thread has a default ID? ie so one can go and change the time slice etc?
  32. S

    issues with USB mass storage function within TeensyThreads

    Hi Joe Can you explain more about your setup() and loop() being within a single main thread? does it look something like this? mainthread (){ setup(); while (1){ loop() threads.yield(); } } My code structure is currently still having setup() and loop() defined per the...
  33. S

    issues with USB mass storage function within TeensyThreads

    This project is for a Teensy4.1, code dev environment is PlatformIO in VScode. Iam using the USB mass storage library to read and write to a USB memery stick, primarily to save data acquired from a DAQ capture. It works fine for code architecture just with a single loop, but if I instatiate...
  34. S

    Pros and Cons of SDfat and littleFS for SD card file system

    Hi All, I am working on a project that includes a webserver and I plan to implement both webpage serving and file serving primarily for remote datafile download. Thus far I have been using the SDfat library for file functions, but some webserver examples I'm looking at use littleFS. Are there...
  35. S

    Teensy 4.1 and Ethernet, a workshop experiment

    Hi Shawn, interested in coming along but I'm in NSW Australia so very offset timezone. What time of your day do you typically do this?
  36. S

    TeensyThreads: About Time Slice, Efficiency, Thread Priority and Cycle Time

    Many thanks Christof !! exactly what I am looking for at the moment. BadMisterFrosty I am currently doing something very similar to what you are planning. I am using an ISR triggered by the ADC data ready line, which puts the data into a circular buffer. In a state machine thread I am chasing...
  37. S

    Teensy 4.x H/W Quadrature Encoder Library

    The Encoder example available from the Arduino list works just fine, is this using your library? If so, there is obviously something in my project screwing things up.... will need to dig around and look for anything playing with pin 1...
  38. S

    Teensy 4.x H/W Quadrature Encoder Library

    Hi mjs513 I'm having a curious issue with this library when definint phase A as pin1 and phase B as pin 3 on a Teensy 4.1. The signal and phase offset looks good on the scope (there is overshoot and a little ringing) but it only randomly counts +- a count occasionaly. If I define pin 2 to...
  39. S

    Faster way to read in digital inputs into a byte value

    Hi Chris O I am still getting my head around (very slowly) the nomenclature and the different labelling levels. In the schematic you linked to, what is the 'port' AD_B1 ? I need to map my signals in the odd way I've listed as they are wired that way ie in order of the PINS broken o
  40. S

    Faster way to read in digital inputs into a byte value

    This is roughly the code I'll try out this evening #define IMXRT_GPIO6_DIRECT (*(volatile uint32_t *)0x42000000) // read in raw values from single port GPIO6 register uint32_t rawdata = IMXRT_GPIO6_DIRECT; // 0B11111111111111110011000000000000 // Pin # bit position value...
  41. S

    Faster way to read in digital inputs into a byte value

    Found this thread which looks very useful, I'll convert my code and report back on the new time consumed. https://forum.pjrc.com/threads/61615-Teensy-4-1-Storing-the-value-of-18-pins-input-quickly
  42. S

    Faster way to read in digital inputs into a byte value

    I have an application capturing both analog and digital data up to a rate of 128ksps. At the moment the ISR is taking too much time and making the 128ksps rate unviable for streaming purposes. I have determined that the digital input reading and byte assembly is by far the slowest part of the...
  43. S

    Suggestions for interrupt safe fast buffering approach

    I've determined that at the 128ksps rate, it is basically running out of time for all processes to complete adequately and all hell brakes loose. I added the head and tail indexes to the stream and could see that strangely the tail index was not incrementing reliably but somehow the data was...
  44. S

    Most robust method to stream UDP using QNEthernet

    Hi Shawn, After further testing I believe my issues are simply running out of processing time in between my interrupts at 128kHz. I added debugging information to my data stream (going over UDP or Serial) and could see that at the 128kHz rate there are very odd issues occuring such as...
  45. S

    Most robust method to stream UDP using QNEthernet

    Hi Shawn, sorry but have not checked that response specifically, however I do believe the issue was caused by the circular buffer being corrupted. I have implemented my own very lightweight circular buffer and the data coming through is no longer turning to garbage. I will be adding debug...
  46. S

    Most robust method to stream UDP using QNEthernet

    Hi Shawn, Will give it a go tonight, many thanks.
  47. S

    Suggestions for interrupt safe fast buffering approach

    This relates to a data capture and streaming application, where at its fastest (currently) a combination of ADC results, time stamp, encoder count and input byte are written to a buffer in the ADC data ready ISR. Total number of bytes per sample is 18 (could go up to 30) so 2.3 to 3.2Mbytes /...
  48. S

    Most robust method to stream UDP using QNEthernet

    The packet rate has been tried at various multiples of the sample rate ie 10x, 100x and 200x without any change. I've determined the issue is with the data source getting corrupted not the packet sending....doesn't make the issue easier but at least I now have it narrowed down a bit more.
Back
Top