Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)BI
Posts
2
Comments
569
Joined
2 yr. ago

  • Yeah, CTS and RTS is useful for the module since you may overflow the module buffer (instead of the module overflowing your UART buffer). With proper HW flow control, hopefully your device UART respects the signal and pauses the tx until it is clear again without you having to code the pause yourselves. It can happen when the GSM bandwidth is lower than the UART bandwidth.

    The module suddenly talking should also be handled by your device UART gracefully. When your rx buffer is full for whatever reason (not reading it for a long time?), the module won't be sending anymore data until you read your rx buffer. Theoretically, no data should be lost that way.

  • I assume you mean RXD to TX0. As for sporadic packets like that, I'd honestly check for the signal integrity. Maybe somehow the data line is picking up noise high enough to cause disturbance. It could be caused by a lot of things, but the most likely culprit are the connector/cable. Any connection going into/out of pcb should be checked. Or check your timing. Make sure the baud and other config (start, data, stop, parity) are matched. Small drift in baudrate is usually tolerable. UART is designed for async communication after all, meaning that any device may send anytime so CTS and RTS isn't usually needed provided that it is a hardware UART (not bit banging). You can check out Ben Eater video about it. In short, the TX is usually held high, the RX then can detect a falling edge which is a signal that a packet is starting. The UART hardware then processes the signal according to the config that you give it and is usually able to do a DMA transfer.

    Edit: Ahh, after reading the code I suspect that your code processes the data faster than the module can send the full reply. The first loop that you are waiting for the first data to arrive, you immediately process everything in the buffer until it is empty, not knowing that maybe the module has not yet finished transmitting. CTS and RTS would not help since they are used to signal if both devices would like to (or probably could) send / receive data. Not signalling end of data transfer

    Edit 2, the solution: Either parse the received packet until the expected end, or wait until timeout before returning.

  • In the context of art, I think it is useful to capture the author's original art as closely as possible when archiving. Especially because art can use wordplay and breaking grammar for the sake of the art.

  • Oh man, that manual is quite descriptive. I wish they could add a schematic or two there. But anyway, as others have suggested, be careful with CRT, but I guess you already know that. Next is from the circuit description, it seems like the display accepts some form or VGA signal without the color. You can see Ben Eater video to learn more about it, especially the line sync and vertical sync signal part

  • Permanently Deleted

    Jump
  • I wonder how better off a competitor would be if they charge fixed price to both driver and consumer. Like, straight up just take only 2 USD from both. What is the BEP for infra and development?

  • Because for big SaaS (international) companies, managing your own infrastructure can be hard or borderline impossible. Each country has regulation regarding data centers, each must have disaster recovery and scheduled backup, each must have redundancy to the max, and many other things to consider when hosting on your own infrastructure. Meanwhile you can use that money to pay developers instead of paying someone to wrestle with server stuff.

  • Manga @ani.social

    Find the title of a time-stop manga

    Games @lemmy.world

    (Help) Name of (sandbox?) game set on space? (Found: Starsector)