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

Search:

Type: Posts; User: jonr

Page 1 of 10 1 2 3 4

Search: Search took 0.01 seconds.

  1. Replies
    2
    Views
    135

    Besides timing and deadlocks, the slightly...

    Besides timing and deadlocks, the slightly simplified answer is don't call any non-re-entrant function that might be called from elsewhere. I don't know of a list and non-re-entrant can be hard to...
  2. Replies
    31
    Views
    2,367

    I'd just remove the biquad calls (you don't need...

    I'd just remove the biquad calls (you don't need filters on top of a convolution filter), but here it is anyway:

    26138
    26139
  3. > Define a variable like: volatile bool...

    > Define a variable like: volatile bool data_update_in_progress = false;

    My understanding is that the compiler might re-order code around this, perhaps putting the set to true after your updates. ...
  4. What you are doing should be more common. Ie...

    What you are doing should be more common. Ie don't turn off any more interrupts than necessary.

    Also, don't turn back on interrupts that were off from previous code. Unfortunately, code like...
  5. I think you could use an IntervalTimer and then...

    I think you could use an IntervalTimer and then NVIC_DISABLE_IRQ(my_timer);
  6. Replies
    2
    Views
    164

    You could get more accuracy by multiplying...

    You could get more accuracy by multiplying millis() by some floating point adjustment value (close to 1.0).
  7. Generic advice - keep simplifying the software...

    Generic advice - keep simplifying the software until the problem goes away. So in this case, down to a single channel with no averaging.
  8. Replies
    31
    Views
    2,367

    Here is the code, provided without any support -...

    Here is the code, provided without any support - it will require changes. Your correction impulse response needs to be converted to a C array of floats.
  9. As much as possible, I'd stick to standard...

    As much as possible, I'd stick to standard protocols. Like RTP.
  10. Looks like flux residue - which you could clean...

    Looks like flux residue - which you could clean off with 99% alcohol.
  11. Replies
    53
    Views
    2,333

    I assume everyone has seen this: ...

    I assume everyone has seen this:

    https://forum.pjrc.com/threads/66201-Teensy-4-1-How-to-start-using-FlexIO
  12. Replies
    53
    Views
    2,333

    My application (fast ADC) needs 12 bits of...

    My application (fast ADC) needs 12 bits of parallel input at about 50 Mhz. I suppose it doesn't matter if the clock signal is generated by the teensy or externally. But it needs to be low jitter.
    ...
  13. Replies
    53
    Views
    2,333

    I'd like to see a FlexIO library that allowed...

    I'd like to see a FlexIO library that allowed fast input of parallel data with an external clock source.
  14. This should be helpful: ...

    This should be helpful:

    https://www.baldengineer.com/low-side-vs-high-side-transistor-switch.html
  15. Replies
    5
    Views
    443

    If you want individual cell (vs pack) monitoring,...

    If you want individual cell (vs pack) monitoring, then the diyBMSv4 approach is worth looking at.
  16. Be aware of the effect on total pack capacity. ...

    Be aware of the effect on total pack capacity. Without active balancing, you are limited by the lowest cell capacity. And by any imbalance.
  17. Replies
    5
    Views
    443

    An INA230 could be used to measure current with a...

    An INA230 could be used to measure current with a low side shunt. Maybe it could handle measuring 72V if you added a voltage divider.
  18. Replies
    16
    Views
    910

    Thanks for the info. So one shouldn't expect...

    Thanks for the info.

    So one shouldn't expect teensy Strings to act like a C++ std::string or according to Arduino documentation (where we find "reserve() Returns Nothing").

    @bvernham: this adds...
  19. Replies
    16
    Views
    910

    > you can mitigate much of the risk by using the...

    > you can mitigate much of the risk by using the reserve(size)

    This leads to how does one safely use reserve()?

    > reserve(): A bad_alloc exception is thrown if the function needs to allocate...
  20. > no one ever checks the return value of new...

    > no one ever checks the return value of new anyway, not even the standard library ... probably better off just enabling exceptions

    So if one uses a teensy and the standard library, this is the...
  21. The crash I saw was caused by this same bug.

    The crash I saw was caused by this same bug.
  22. Replies
    16
    Views
    910

    > String it supposed to drop data when it can't...

    > String it supposed to drop data when it can't allocate memory, so you get a proper String variable which is blank.

    Here is code that eventually drops data but doesn't result in a String variable...
  23. Replies
    16
    Views
    910

    I did some tests: Looks like "new" with no...

    I did some tests:

    Looks like "new" with no memory will return NULL which is non-conforming C++.

    String operations that can't allocate more memory generally quietly fail, with who knows what...
  24. Replies
    16
    Views
    910

    What is the proper way to detect an out-of-memory...

    What is the proper way to detect an out-of-memory failure of "new" or some std::string related statement (eg, S += "x") in a teensy program?
  25. Replies
    16
    Views
    910

    +1 on what Paul said. For some cases, the...

    +1 on what Paul said. For some cases, the MISRA-C policy of "Dynamic heap memory allocation shall not be used" is best.

    > the odds are very low,

    But note that if there is any chance of...
  26. Replies
    1
    Views
    232

    As I read the spec sheet, anything 3.6-5.5V...

    As I read the spec sheet, anything 3.6-5.5V should be OK.
  27. > connect 3 regular LEDs Of course application...

    > connect 3 regular LEDs

    Of course application matters, but I have found 1mA to be plenty bright for generic indicator LEDs.
  28. Replies
    1
    Views
    164

    Short answer, you should have them. Longer...

    Short answer, you should have them. Longer answer here:

    https://www.silabs.com/documents/public/application-notes/an0046-efm32-usb-hardware-design-guidelines.pdf
  29. Replies
    69
    Views
    2,853

    Changing the while loop would be consistent with...

    Changing the while loop would be consistent with the CMSIS-CORE implementation of SCB_InvalidateDCache_by_Addr(). But IMO, a ">0 multiple of 32" comment is OK.
  30. Replies
    10
    Views
    482

    Non-preemptive threads avoid state machine coding...

    Non-preemptive threads avoid state machine coding and most of the compatibility problems. Unfortunately, that isn't an option in the above library.
  31. The ETA3000 looks reasonable for balancing,...

    The ETA3000 looks reasonable for balancing, although the error can accumulate cell-to-cell. For the record, diyBMS is a completely open design with data from each cell being available to the master.
  32. Replies
    7
    Views
    475

    Here is an example program that adapts audio...

    Here is an example program that adapts audio rate. Not hard to change it to determine rate based on incoming audio.

    25768
  33. Replies
    7
    Views
    475

    > dropouts or glitches because each tries to use...

    > dropouts or glitches because each tries to use a slightly different sample rate

    I have had good results with matching the teensy audio clock to an external clock source. That source can be...
  34. Consider the "diyBMS New cell monitor module...

    Consider the "diyBMS New cell monitor module V4.40". Or a derived design.
  35. Replies
    69
    Views
    2,853

    Paul's comment is pertinent to understanding the...

    Paul's comment is pertinent to understanding the context:

    "Normally arm_dcache_delete() is used before receiving data via DMA or from bus-master peripherals which write to memory. You want to...
  36. Replies
    69
    Views
    2,853

    No, doing nothing is bad - it doesn't delete the...

    No, doing nothing is bad - it doesn't delete the specified address range from the cache and it's not harmless if you neglect to do this. Flush then delete will a) delete from the cache and b) not...
  37. Replies
    69
    Views
    2,853

    With 1024 and 20 as address/size inputs, your...

    With 1024 and 20 as address/size inputs, your code does nothing.
  38. Replies
    69
    Views
    2,853

    As stated in #4, flush before delete is an...

    As stated in #4, flush before delete is an option. If you care about speed, don't flush more than necessary.

    I think Kurt's code would work.
  39. Replies
    69
    Views
    2,853

    No doubt that arm_dcache_delete() is...

    No doubt that arm_dcache_delete() is under-documented and dangerous when misused with non 32 byte aligned buffers. Do you have a better version?

    Off the top of my head:

    if (alignment or size...
  40. Replies
    69
    Views
    2,853

    I believe that it needs 32 byte alignment. If...

    I believe that it needs 32 byte alignment. If so, the code is correct, but arm_dcache_delete() should only be called after a flush or with a 32 byte aligned address pointing to a buffer that is a...
  41. A couple more comments: A switch() statement...

    A couple more comments:

    A switch() statement is often clearer than many if statements.

    You almost always want to code for clarity and maintainability, not speed or minimal lines of code.
  42. > Only the last exception needs special coding: ...

    > Only the last exception needs special coding:

    Pay attention to request 2.
  43. I'd probably a) handle the special cases with...

    I'd probably

    a) handle the special cases with "if"
    b) divide by 30 and switch on or off depending on even or odd
  44. Replies
    7
    Views
    364

    Perhaps more interesting to know if there is any...

    Perhaps more interesting to know if there is any noise or other performance advantage of different analog pins.
  45. Replies
    5
    Views
    342

    > I tried this out, and the noise does not occur....

    > I tried this out, and the noise does not occur. Interesting!

    This suggests that you should use a lower impedance source. Or add capacitance near the teensy pin.
  46. Replies
    5
    Views
    342

    Does it occur when you use the power supply...

    Does it occur when you use the power supply connected directly to the ADC input (no pot)?
  47. With only 1 or 2 microphones, it looks like the...

    With only 1 or 2 microphones, it looks like the clock rate can be 64 x 44100 = 2.8Mhz. Which is generally reported to be reliable with a breadboard.
  48. Looks to be a different layout. But not hard to...

    Looks to be a different layout. But not hard to make a small breakout board for testing.
  49. This is for a different chip, but is it the same...

    This is for a different chip, but is it the same layout?

    https://oshpark.com/shared_projects/GiObJBkm
  50. Also note that you can usually over-sample -...

    Also note that you can usually over-sample - which improves performance.
Results 1 to 50 of 500
Page 1 of 10 1 2 3 4