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

Search:

Type: Posts; User: shawn

Page 1 of 2 1 2

Search: Search took 0.00 seconds.

  1. Replies
    31
    Views
    1,572

    Now if we could just get a WiFi module onto an SD...

    Now if we could just get a WiFi module onto an SD card... no idea how it would work (Eg. power requirements, API access, etc.), but Eye-Fi has a product with this.
  2. Replies
    25
    Views
    1,602

    Does anyone know if the OSH version comes with...

    Does anyone know if the OSH version comes with pins I can solder, or should I find extra elsewhere?
  3. Thread: DMXSimple Issues

    by shawn
    Replies
    9
    Views
    1,847

    Curious, when you say USB to DMX, do you mean USB...

    Curious, when you say USB to DMX, do you mean USB Pro Widget emulation or raw bytes over USB-serial?

    The TeensyDMX library works with Teensy LC and can send packets having less than 512 bytes....
  4. Replies
    3
    Views
    243

    Try this: namespace teensydmx =...

    Try this:



    namespace teensydmx = ::qindesign::teensydmx;

    // Create the DMX sender on Serial1.
    teensydmx::Sender dmxTx{Serial1};

    void OnNoteOn(byte channel, byte note, byte velocity) {
  5. Hi, Maru. I just noticed your post. You only need...

    Hi, Maru. I just noticed your post. You only need to use a TX-enable pin if your transceiver requires it. From your schematic, it looks like you don't need one. Your TX-enable pin is already driven...
  6. Replies
    23
    Views
    7,493

    I just released v3.1.1. It contains some bug...

    I just released v3.1.1. It contains some bug fixes and a better library description. It is my belief that the API is now complete enough to do most things you'd want to do with DMX. For example, RDM...
  7. Replies
    23
    Views
    7,493

    Thanks. Yes, I’ve dabbled in a few RDM responder...

    Thanks. Yes, I’ve dabbled in a few RDM responder implementations. One of them passes most of the OLA tests and another is a minimal implementation suitable as a .ino example. Haven’t decided if, or...
  8. New (possibly yet another) SLIP framing library, a Stream decorator

    Framing (say over a serial port or over some streamed connection) is often necessary so that data doesn't become unsynchronized, and also for relaying packets with a known amount of data. I've been...
  9. Replies
    23
    Views
    7,493

    It's never going to be perfect, so I just went...

    It's never going to be perfect, so I just went ahead and released v3.0.0. There's a few minor fixes and improvements, but there aren't any major changes.
  10. Replies
    2
    Views
    571

    The RS-485 backpack also works pretty well for...

    The RS-485 backpack also works pretty well for this (search this forum for “teensy backpacks”). I soldered a 3-pin female JST connector to a 5-pin DMX connector and it works great. There’s no...
  11. Replies
    2
    Views
    243

    I frequently have to kill teensy_reboot because,...

    I frequently have to kill teensy_reboot because, according to Activity Monitor (Mac), it’s often at a constant 90+% CPU usage. Also my fans go strong until I kill it.

    I’m using the latest...
  12. I’m not saying FastLED necessarily does it this...

    I’m not saying FastLED necessarily does it this way. I was responding to your question about APA102 control. (I don’t see mention of FastLED in your original question?)
  13. Have you tried setting that brightness field for...

    Have you tried setting that brightness field for each pixel? I have not tried it myself, but since each pixel in the protocol specifies 5 bits of brightness, I suspect it may work. A side note is...
  14. Thread: Teensy DMX / RDM

    by shawn
    Replies
    5
    Views
    386

    Yes, that sounds correct. Per the style of that...

    Yes, that sounds correct. Per the style of that file, calling functions at the appropriate spot in the appropriate switch statement seems like the way to go.
  15. Thread: Teensy DMX / RDM

    by shawn
    Replies
    5
    Views
    386

    In order to add new commands, you need to modify...

    In order to add new commands, you need to modify the processResponderRDM() function in TeensyDmx.cpp. Have you had a look at the E1.20 RDM specification?
  16. Replies
    9
    Views
    2,258

    Another library that works with the Teensy LC:...

    Another library that works with the Teensy LC: https://github.com/ssilverman/TeensyDMX
  17. Replies
    2
    Views
    1,272

    This library also supports the Teensy LC:...

    This library also supports the Teensy LC: https://github.com/ssilverman/TeensyDMX

    For hardware, search the forum for “Backpacks”. I bought a couple of the RS-485 modules, and they work great with...
  18. Thread: Teensy DMX / RDM

    by shawn
    Replies
    5
    Views
    386

    Could you point to the source code of the...

    Could you point to the source code of the example? Maybe I could give a few pointers. I have some RDM implementation experience.
  19. Replies
    23
    Views
    7,493

    I just released v3.0.0-beta. It's been tested on...

    I just released v3.0.0-beta. It's been tested on all the serial ports on 3.2, 3.5, 3.6, and LC, which the exception of Serial6 on 3.6.

    Serial6 on Teensy 3.6 "should" work, but I've never soldered...
  20. Awesome, that worked. Thanks for that. For...

    Awesome, that worked. Thanks for that.

    For posterity and for anyone that finds this thread needing the same information, here's the working version of the code. Note the change to the...
  21. Help with setting a bit-band-aliased bit on Teensy 3.5

    I'm trying to enable FEIE on UART0 on a Teensy 3.5, but the board seems to lock up when I set the bit via the bit-band alias region, and I'm having some difficulty figuring out why. Here is a vastly...
  22. Replies
    42
    Views
    27,848

    Breaks detected via framing errors do indeed...

    Breaks detected via framing errors do indeed return a zero in the data byte, however because DMX also requires knowledge of non-zero bytes from framing errors—for being able to detect bad data and...
  23. Replies
    1
    Views
    326

    I added this accompanying document on BREAK...

    I added this accompanying document on BREAK timing in the context of serial ports: BREAK Timing in DMX512-A
    It might be useful to some.
  24. Replies
    1
    Views
    326

    New TeensyDMX 3.0.0-alpha release

    I've just released v3.0.0-alpha of my TeensyDMX project. The CHANGELOG describes what's changed, but here is a summary of the major features:


    Direct hardware access and optimized buffering....
  25. That's right. My TeensyDMX...

    That's right. My TeensyDMX project is my first major foray into some of the direct-access chip stuff. It was only this year that I started diving more deeply into it. Thanks for the explanation.
  26. Thanks for your response, Paul. For the record, I...

    Thanks for your response, Paul. For the record, I never insinuated that this wasn't documented or hidden. I specifically said: "I can't seem to find any information about this in the datasheet. My...
  27. @Theremingenieur I hear your point, however, most...

    @Theremingenieur I hear your point, however, most vacuum cleaner documentation (and most other basic home appliance documentation) actually document the fact that you need to plug it in. That's in...
  28. Respectfully, I must disagree. I can't just take...

    Respectfully, I must disagree. I can't just take this as a fact without either an errata or documentation. If it's not documented, it's a bug or needs an errata in the docs. But as I'm writing this,...
  29. I can't seem to find mention of this fact in the...

    I can't seem to find mention of this fact in the chip guides. Do either of you know where this may be mentioned?
  30. Interesting: Writing to UART_C2 before serial-init locks up

    If UART_C2 is set before the corresponding serial port is initialized, despite the fact that the datasheet says it can be read or written at any time, seems to lock up the Teensy. Does anyone know...
  31. Replies
    1
    Views
    278

    Here's my solution for getting state into GPIO...

    Here's my solution for getting state into GPIO ISRs. I'm using it from a header. It's the "write a callback for every possible pin" solution.



    #include <core_pins.h>

    // Holds callback...
  32. Replies
    69
    Views
    3,107

    The approach I’m referring to is the “writing...

    The approach I’m referring to is the “writing your own” approach. In the case of GPIO pins, the state necessary to determine the pin number has already been erased before the callback is called. I...
  33. Replies
    1
    Views
    278

    Seeking ideas on using state in callbacks

    These days, as I've been using callbacks more and more (through Arduino-style APIs, for example IntervalTimer or attachInterrupt()), it's become apparent that this programming paradigm depends on...
  34. Replies
    69
    Views
    3,107

    This approach is actually necessary if you don't...

    This approach is actually necessary if you don't use global variables to keep state. As I do more callback-based Arduino-style programming, I'm realizing that it's difficult, without jumping through...
  35. I think I found the issue. I'm taking this quote...

    I think I found the issue. I'm taking this quote from Teensy 3.6's processor manual:



    Basically, I was toggling the transmit-enable state. This explains this whole scenario. When enabling the...
  36. No worries. Interrupts and concurrency are hard....

    No worries. Interrupts and concurrency are hard. :)

    So it sounds like __enable_irq() is indeed appropriate in an ISR if __disable_irq() was called first?
  37. So if higher priority interrupts can happen...

    So if higher priority interrupts can happen within an ISR, why is calling __enable_irq() from inside it (after calling __disable_irq()) incorrect? Wouldn't that just re-enable higher-priority...
  38. In normal code, I'm already wrapping...

    In normal code, I'm already wrapping disable/enable IRQ's around any calls to begin(). I'm doing this because there's still a chance that a begin() call in normal code will get preempted by an ISR...
  39. I'm working on one, but now I need to know, from...

    I'm working on one, but now I need to know, from inside a function, the object or function that called it. Do you have some fancy stack pointer magic you know of that can obtain this information? I'm...
  40. I'm talking about the begin() call (for example)...

    I'm talking about the begin() call (for example) for one-shot operation, not for continuous operation. In this case, I don't consider a call to begin() as single-time initialization.
  41. Question about IntervalTimer::beginCycles and "ISR safety"

    I was having a look at IntervalTimer::beginCycles() and noticed that, in theory, there might be a race condition with the channel search.

    The scenario:

    Call begin(). Internally, beginCycles()...
  42. Thanks, Paul, for looking at this. This would...

    Thanks, Paul, for looking at this. This would explain why moving the uart_.begin() call to after the delay extends the total duration. It's almost as if UART initialization runs concurrently with...
  43. I've created a screenshot video with audio that...

    I've created a screenshot video with audio that demonstrates the problem I'm seeing.
    Here is the link: https://drive.google.com/file/d/1lZ3ORy6PA7W3a5LikaehqI2TSGeeSRHB/view

    Hopefully this saves...
  44. Arduino version attached: 15120

    Arduino version attached: 15120
  45. Now this is interesting. When I put the cycle...

    Now this is interesting. When I put the cycle counter around the whole function, the delayMicroseconds() call makes no difference to the cycle count. Maybe the compiler is doing something...
  46. [...time passes...] It looks like...

    [...time passes...]
    It looks like delayMicroseconds(150) takes just about 150us, according to that cycle counter.
    (Curious, why did you make udiff volatile but not cycles?)
  47. PlatformIO v3.6.2a2, framework-arduinoteensy...

    PlatformIO v3.6.2a2, framework-arduinoteensy v1.144.0 (spelunking in the download, I found this: teensy31.build.flags.defs=-D__MK20DX256__ -DTEENSYDUINO=144).

    I'll go try your timing code and see...
  48. Oh, wait. No. If you mean Teensy 2.0, I’m...

    Oh, wait. No. If you mean Teensy 2.0, I’m referring to “Teensy #1” and “Teensy #2”. Use Teensy 3.2’s.
  49. Could also use an RDM-capable DMX device and pass...

    Could also use an RDM-capable DMX device and pass the signals via an RS485 converter. I feel this setup is simpler. :)
  50. I've made a reproducible example and it can be...

    I've made a reproducible example and it can be found here: 15117.

    Update: Use Teensy 3.2’s. The “Teensy1” and “Teensy2” below refer to “Teensy#1” and “Teensy#2”.

    This is a branch off my...
Results 1 to 50 of 90
Page 1 of 2 1 2