Search results

  1. F

    Teensy long Serial.print is trunked

    Sadly, that's nothing you could fix. I'm looking for the popcorn right now....
  2. F

    Thoughts about Handling of Complexity

    Yup, that's how a forum works :) Good enough. That's how Arduino works, yes. Perfectly compatible.
  3. F

    Thoughts about Handling of Complexity

    To be really useful it has to be called by external, third-party libraries, too. Otherwise it may happen that it does not get called for several seconds. Make sure there is a way to disable it in a way that it does not use resources like the mailboxes if an rtos needs them. and perhaps rename...
  4. F

    Thoughts about Handling of Complexity

    As long you don't add a simple, empty serialEvent() or a "real event" However, a "loops/second" is so far away from something I'd call a benchmark... not worth to spend even a second on it. that's not a problem of ESP - it's your problem. It works good for me. On my Platformio a human readable...
  5. F

    WaveplayerEx

    Awsome :) Recording: Yes, you can enable recording (there is #if 0 in both, the .h and the .cpp file) But recording has even tighter requirements on timing and it's not testedt. It likely that it will not work for you.
  6. F

    Thoughts about Handling of Complexity

    Okay, as usual no answer from Paul, and i guess Kurt (who did that) does not see the problem :) The issue is, currently the yield_active_check_flags is used as something like "enabled". That's not correct. At least, it wasn't intended to be used like this, when i proposed this variable...
  7. F

    ElapsedMicros/millis, how to avoid overflowing

    Its wrong, don't do that. (See the other answers, too)
  8. F

    Thoughts about Handling of Complexity

    Suche "yield();" (20 Treffer in 15 Dateien von 155 gesucht) C:\Arduino\hardware\teensy\avr\cores\teensy4\delay.c (1 Treffer) Zeile 62: yield(); C:\Arduino\hardware\teensy\avr\cores\teensy4\HardwareSerial.cpp (3 Treffer) Zeile 235: while (transmitting_) yield(); // wait...
  9. F

    Thoughts about Handling of Complexity

    I wouldn't call that detail. Is affects 100% (ALL) programs and makes them unnecessary slower, and is helpful for maybe 1 of 10000 (nobody uses it) As said above, overriding yield() is not enough to get rid of it. is does.
  10. F

    Data type with Teensy4.0

    Yes. and? If it's abufferoverflow for example, an array ot of range or whatever the memory contents are just random. Its still a bug. Manitou showed you that the results are the same.
  11. F

    Thoughts about Handling of Complexity

    ..and its buggy. If you don't read the Serial data it gets called again and again and again.. From my understanding an event should be called ONCE - at least the name "event" suggests that. That flag does not work. Try this: extern uint8_t yield_active_check_flags; void serialEvent() {...
  12. F

    Thoughts about Handling of Complexity

    Not exactly... void yield(void) { static uint8_t running=0; if (!yield_active_check_flags) return; // nothing to do if (running) return; // TODO: does this need to be atomic? running = 1; // USB Serial - Add hack to minimize impact... if (yield_active_check_flags &...
  13. F

    Thoughts about Handling of Complexity

    Yup, that works good, but still leaves the rest of the EventResponder code (like the triggering of events and that timer that get's called with every systick)
  14. F

    Data type with Teensy4.0

    @mena, looks like a bug in your program.
  15. F

    Thoughts about Handling of Complexity

    As long nothing disables interrupts, the highest priority one has deterministic timing. Wether it has an rtos or not. The problem is not the OS - it's the Teensy core (and libs)
  16. F

    Data type with Teensy4.0

    The Teensy 4x does it in hardware (where possible), and there is no sign that it would work wrong. Can you post code, please? I'll run it on both, Teensy and ESP.
  17. F

    Data type with Teensy4.0

    64Bit is double.
  18. F

    Best Method for Fast Playing of Samples with 8-voice Polyphony?

    I measured the time for open() a file from SD (aif in this case). It's around 0.5..2.5 ms most of the time. Sometimes (seldom) a little more. But yes, fast SPI filesystem would be better. Unfortunately, LittleFS often needs 10x the time.
  19. F

    Thoughts about Handling of Complexity

    I think an rtos would benefit from the 1176 mailboxes. They couldn't be used if an eventresponder interferes. In principle there could be both - eventresponder and rtos. However, it would be a bad compromise and in sum the bad of both worlds. An rtos has its own messaging system. You can't...
  20. F

    Thoughts about Handling of Complexity

    That's also the reason why a "slow" ESP can be faster - it is able to do other things during the wait. Reentrancy: Yes, you know why and how to avoid it. A beginner does not know that - and Arduino is for beginners. We would read 10x the questions in this forum with "Teensy is crashing..why?"
  21. F

    Thoughts about Handling of Complexity

    They are not reentrant. Nothing is reentrant on Teensy. And they are blocking. For example, a simple print is likely to crash or least will do weird things if used by different tasks. To fix that it needs an incredible amount of work. Edit: Blocking: The CPU waits for something. For example if...
  22. F

    Thoughts about Handling of Complexity

    No... nobody uses it. I'm not arware of any questions or mentions here - means there can't be many users of it. So it does not hurt to remove it completely.
  23. F

    Thoughts about Handling of Complexity

    The point is, the core itself and basic things like I2C, SPI etc are not compatible to a rtos. I think it was just missed until now. The sweet spot to start with it was missed. Meanwhile every serious library has a "#ifdef ESP...". it took a while, but now it works pretty reliable. Then, it has...
  24. F

    Thoughts about Handling of Complexity

    Would you say, ESP is not Arduino compatible? You can completely ignore the fact that it has an rtos and upload a simple sketch with the usual "loop()". Saying ESP is not Arduino compatible requires a fair amount of imagination :) I'm not aware of a official definition of "Arduino compatible". I...
  25. F

    Thoughts about Handling of Complexity

    That is certainly in the eye of the beholder. If there was a really good reason, there would be no obstacle to give it. But this reason is obviously "secret" - nobody but Paul knows it. Since even NXP offers an RTOS for these chips, and there is no technical reason, everyone can think up the...
  26. F

    An ultrasound Teensy USB Mic

    Hi, you might be interested in this: https://forum.pjrc.com/threads/38988-Bat-detector?highlight=bat+ultrasonic As far I know it's a completed, fully working project.
  27. F

    SPI Flash on T4.1 (W25Q64JVXGIM)

    3 chips, 2 places where you can solder... one soldered to the top ... if that does not answer the question, i don't know... :) Then, there is the 4.0 schematic...
  28. F

    SPI Flash on T4.1 (W25Q64JVXGIM)

    A simple look at the bottom of a 4.1 shows that there are only two places where an optional chip can be soldered.. which would have answered your question ;)
  29. F

    Best Method for Fast Playing of Samples with 8-voice Polyphony?

    Take your time, no hurry. It was never meant to be that "exact".. it's just a dumb player. But if it is possible.. why not. I like the idea of the sines.. did not think of them as an instrument to measure things in connection with the player. Thank you! For EOF, please keep in mind that there...
  30. F

    Internal ADC on T4, different value using ON/OFF button

    Have you tried pinMode(x, INPUT_DISABLE)? EDIT: Lol, misread your post... ignore that, please :)
  31. F

    Best Method for Fast Playing of Samples with 8-voice Polyphony?

    Looks like the two sines are canceling out each other.. so it's timing.. indeed if I rewrite the loop to : AudioNoInterrupts(); for (int i = 0; i<2; i++) { playSdWav[i].pause(false); } AudioInterrupts(); ...it does not happen. Problem solved? I hope..
  32. F

    Best Method for Fast Playing of Samples with 8-voice Polyphony?

    IF it was playing, the amplitude should be higher, like in picture #2. But it IS playing, because you see 2 glitches in the first sines (exactly the length of the shorter file)). Any Idea? The shorter file alone (with the longer disabled) plays every time...
  33. F

    WaveplayerEx

    Great! I hope the faint click is caused by my samples... however, indeed there seems to be a problem: https://forum.pjrc.com/threads/69373-Best-Method-for-Fast-Playing-of-Samples-with-8-voice-Polyphony?p=299416&viewfull=1#post299416 Saw this the first time now... and at the moment, I have no...
  34. F

    Best Method for Fast Playing of Samples with 8-voice Polyphony?

    Ha! When I recorded over a longer time check if the "added too much zeroes" issue from above was fixed, i finally saw the problem at start. It does not happen often, perhaps 1 of 20 times? But it should look like that: But... I have absolutely no idea why this happens (and what??)... if you...
  35. F

    Issue with USB Serial data transfer to PC.

    Yes, don't use Windows :) You would need to fix the Windows driver. It's (mainly) not a Teensy issue, it's a common problem with other MCUs and Windows, too. However, I've seen data-loss due to a teensy problem, too. As workaround you can add a longer delay (fixes both), so that the windows...
  36. F

    Best Method for Fast Playing of Samples with 8-voice Polyphony?

    Ok, my changes seem to have fixed the issue. The other issue, with the delay at end is.. hm, i did not think of this.. or..better.. did not think of this effect as a problem :) The player works in a way, that the memory for all players grows the more players exist. This is needed for the...
  37. F

    Best Method for Fast Playing of Samples with 8-voice Polyphony?

    Thank you! Can you upload the file please? If fixed some things yesterday. Do you use the newest version?
  38. F

    Snooze not working with any T4.x on TD1.56

    @Re: 9 Blinks: it works for me to just add a FLASHMEM to TEENSY40\hal.c (Line 652): //---------------------------------------------------------------------------------- FLASHMEM void startup_early_hook( void ) { uint32_t OR_D_GPR = IOMUXC_GPR_GPR4 | IOMUXC_GPR_GPR7 | IOMUXC_GPR_GPR8 |...
  39. F

    Snooze not working with any T4.x on TD1.56

    As said - it's just thowing darts..
  40. F

    Snooze not working with any T4.x on TD1.56

    __disable_irq() __enable_irq() These are global, take no parameter, and disable/enable _all_ interrupts (but NMI)
  41. F

    Snooze not working with any T4.x on TD1.56

    @Tim, probably something wrong with your install. I do not get linking errors with T4.0 / TD1.56 - only two warnings: C:\Arduino\hardware\teensy\avr\libraries\Snooze\src\hal\TEENSY_40\SnoozeCompare.cpp: In member function 'virtual void SnoozeCompare::disableDriver(uint8_t)'...
  42. F

    ST7735_T3 Library - does it block or use interrupts?

    Which player do you use? It might a problem there. For example, there is code like this: #if defined(HAS_KINETIS_SDHC) if (!(SIM_SCGC3 & SIM_SCGC3_SDHC)) AudioStartUsingSPI(); #else AudioStartUsingSPI(); #endif This was never good, but somehow worked on the T3 - it was a workaround I...
  43. F

    Snooze not working with any T4.x on TD1.56

    Disable them after this line: void ResetHandler(void) { unsigned int i; !!here!! enable them here: // set up blank interrupt & exception vector table for (i=0; i < NVIC_NUM_INTERRUPTS + 16; i++) _VectorsRam[i] = &unused_interrupt_vector; for (i=0; i < NVIC_NUM_INTERRUPTS; i++)...
  44. F

    Snooze not working with any T4.x on TD1.56

    Not sure if this is the reason here, in this special case: Startup-c has a bug. There is (often) an interrupt happening, quite early , in the first lines of startup.c Paul didn't want to insert my proposed change, so this is still the case. Teensy crashes, because the interrupt happens before...
  45. F

    How to create 15 Hz signal from Teensy 3.2?

    Oh my.. you did not mention any timestamp in post #1. Yes just use delay(). You can also try a pin interrupt which store millis() or micros(). But most important is to give us all informatio about what you need... not the half only.
  46. F

    3.x Availability vs. 4.x and Power Consumption

    Third post in the second link you gave :) This shows how to set the speed @ runtime. Note, you can't go slower than 24MHz if you need USB. There are threads about power consumption, too. But don't expect too much savings... you don't buy a Ferrari and expect it needs less than a Smart when...
  47. F

    3.x Availability vs. 4.x and Power Consumption

    Yes, there are some threads here about it :) A search should be successful...
Back
Top