There is, as I recall, a film that has a guy finds some universal remote that, amongst other things, allows him to skip forward. The moral of the film is he skips over his entire life and regrets it.
But this would, some times, be cool - right? It is 4pm on a Saturday and I am doing nothing special, watching TV (a show I have watched before) and a bit hungry - if only I had a magic button to make it 6pm and I could order Chinese now.
But yes, massively tempting to "skip" more and more, I am sure.
To be fair, if I had a magic button to skip ahead I would want it to not eat from my life time as well, that would be way more sensible.
But we sort of have this - it is sleep - we can skip over 6 to 8 hours of time over night (and use up some of our life).
It is almost a shame we cannot simply choose exact periods that would be handy to skip instead, maybe.
Hi. Yes, I still have this cold. It's come back. Don't ask. But I've had a weird weekend. It started with early hours of Saturday morning where two jobs decided to take concrete slabs off the wall outside my house and dump them on the A40. uh police did attend and the good news is having given them all the CCTV is apparently they actually have suspects which is great. So we'll see how that goes. It's not the first time we've had this before but we suspect it's the same people as before. So that's going to be interesting to see how it pans out. But then later on Saturday we had something a little bit unexpected. A guy walking his dog decides to take the Christmas wreaths off our gate. Now, to be fair, we've been meaning to take them off for a while, but we haven't got around to it. And he dumps them behind the gate, and the result is they get run over. Basically, uh my one of my kids came up to the gate, open the gate, can't see the wreaths because they're right up by the gate. It's under the under their bonnet, and drive over them, smashing blessings. We're kind of hoping we can kind of recover them now. Replace some Bbles, check the lights work and things, but they're probably about 50 quid each. Quite large Christmas wreaths. So, not funny. So, I put a poster up on the gate basically who does this and and a Grinch image and some pictures. Well, guy with his dog comes back. He's obviously not amused. And you know, I was half expecting him to just like rip the poster off as he went past or something like that, but no, you won't believe this. He seems to have planned a midnight raid. Okay, half past midnight. He's got a woolly hat, different coats, hand over his face, and he sort of creeps down Belmont Road, comes around the corner, grabs the posters off the fence, sort of half hides behind a a pole at one point, and then scurryies back up Belmont Road, sort of ducking under the under the wall. And yeah, I it sounds crazy. I have the video. see this. Uh, I think it's fairly sensible because I've, you know, I can't identify who's in the video. I'm not sure anyone else can. That's the whole point of him covering his face. So, I think I'm I'm quite legit in publishing this. So, yeah. Well, I have the weirdest neighbors, but I mean, 10 out of 10 for entertainment. Who'd have expected him to plan a midnight raid to take a poster off my gate? I mean, that's just Well, wow. Wow.
It is not the really tedious one hour 45 minute video, or even the heavily edited 28 minute video.
It is the 9 minute summary - enjoy.
This is extracted subtitles, not perfect, but a good start...
Hi. Well, firstly, for those that have been following, my cold has nearly cleared up, but I do apologize that I will almost certainly end up coughing at some point during this. Also, I'm letting you know I'm sparing you from a really tedious video. I had a chat, online chat with Amazon yesterday and I recorded it. I recorded the chat window. I recorded me and audio and so on and put it all together and edited an hour and 45 minutes of online chat down to 28 minutes. That took me a while and then I decided no, that was actually too tedious, too boring. Even though it was meant to sort of highlight how tedious and boring it is dealing with Amazon, I decided no, even that was too tedious. It was mostly me typing and you can see in the chat window and I didn't even narrate what I was typing. So it was interspersed with some rants but that was it. So I've spared you that but I thought I'd do a summary. So I've mentioned the issue with Amazon. It's very straightforward. We've been selling product for years. It's called Facin. It works with Din air controllers. Hence the similar name. And Amazon got a letter from Dacin saying it's bit trademark. Amazon pulled the listing froze 200 stock that we had in Amazon and we've been battling with them for months now. Last month, December the 3rd, went around circles with them. They kept saying, "Well, you need to to appeal." I said, "Well, we've been through the appeal and you just keep asking for more information. There is no resolution. We've given up appealing. The matter's now closed. We're not going to appeal anymore. Send them back." And the comment then was, "Well, we're holding them for 36 days." Now, I did suggest that they pay me rent for that, but they didn't understand that. Holding them for 36 days, but after 36 days, you can have them back. And it was very clear on that. So, I got pissed off, but I decided I'll play their game. They clearly said I'll have them back in 36 days. It's been about 40 days now. So I chatted with them yesterday and this was the hour and 45 minute chat and it's like speaking to a brick wall. The the person I'm speaking to just doesn't understand the concept. He's saying well you need to appeal. I said tried appealing. We've given up on that. We need to send these documents. But there aren't any documents to send. They're not going to send any documents. Just send them back. At one point he's like well if you send the documents how can we send them back? And he's sort of like put them in a box with our address on them. Put them in the post. It's not complicated. But he just, you know, he's got a mental block with the whole concept that they can send them back. They don't need me to send documents or appeals to send them back. They can do it. It is physically possible for them to do it. But no, it just that didn't that thought didn't enter his head. It was a very frustrating hour and 45 minutes and very boring. As I said, the summary of the call finally came in. Um, and the email came up and said, "Well, you've still got to send some documents in." Basically, they're saying they're going to hold them. In fact, at one point, they even suggested they might destroy them. And to be clear, the whole Amazon process for this is for handling fake merchandise. So, if I was selling trainers that had Mike instead of Nike on them, then I can understand that they're fake products and they want to do something about it and take them off the market. Although, I'm not really sure they should be entitled to destroy them without court order. But this is not what's happening. These are not fake DIN products. DIN don't make development boards. They do make a Wi-Fi adapter, but it doesn't look at anything like this or work in the same way. So, this isn't a fake DIN product with a similar name to Fool People. It's a different product and and their process doesn't really get up to that in the first place. So given that they're basically trying to tackle potentially fake products, their process is wanting documents like the invoice for where I got it, what supplier I got it from. So if I had a supplier that said, "Yes, this is genuine DIN um Wi-Fi controllers, then maybe I'd get somewhere." Or if I had, you know, if I bought them from DIN. The problem is we're not claiming that they're DIN. So we don't have an invoice from a supplier that says that they're genuine DIN. Also, we made them. So, we don't have an invoice for the splat. I mean, I've got an invoice for the bare circuit boards, but that's that's not the final product. And they just argued up for that. Their appeals process seems to lack a couple of obvious steps. One is it's not a breach of trademark. It's not a concept they seem to understand. The other is okay, it's a potential breach of trademark. We're not saying it's breach of trademark. Obviously, we're not conceding that, especially as you might destroy the goods, but it's a potential VA trademark. So, we're prepared to pull the products, withdraw the products from sale, um, get them back, rebrand them, so there's no confusion, there's no there's no ambiguity. And again, that's not an avenue they understand. I had a chat today and actually someone slightly more helpful, although he did admit that often they can't actually do anything to fix problems. He has actually managed to escalate it to a specialist team. And the reason we got somewhere, I think, is because the the summary from previous chat wanted five things from me. And these five things are invoices and receipts, pricing information may be removed, supplier information, name, phone, number, address, and website. Item description and quantities, import or export documents, and documentation showing that your fake products do not infringe on the day trademark. And I was able to basically tackle all five points preemptively in the chat. So when it comes to invoice and receipts, there is no invoice of receipt. We make these. When it comes to supplier information, there is no supplier. We make these. When it comes to item description and quantities, well, you know the item description and how many you have. When it comes to import and export documentations, well, we make these. We didn't import or export them. documentation showing your faking products do not infringe trademark. Well, my answer there is what documentation could we provide that faking does not infringe other than the daking trademark which states the letters D, A, I, K, I, and N and not the letters F I, A, A, I, K, I, and N. So, I preemptively answered all five points. So, that stock answer is not going to work this time. And I actually got through to someone who seemed to grasp that concept. Now obviously I had to explain it's not a fake puppet um and a few other things but basically he's transferred it to a specialized team but the one other thing I have said is if it helps if you choose not to return them then this will result in a county court claim to challenge your actions and policy in front of a judge. This is the course you are taking if you choose not to return them. As you know, there has been no legal decision in a court to declare this product is a beach. And it does not use the actual word day. So, it's not automatically a beach. It needs a legal decision. It could only be decided by a court, not by Amazon. So, that's all been passed through to them. So, we're hoping maybe, just possibly this time, it'll get through to a person who's not completely brain dead and can actually answer it. Otherwise, it will be a county court claim. It may well be that Amazon terms and conditions and policies clearly state they can withhold goods and destroy them at a whim like this. But even if it does, I'd like to see that in front of a judge. A judge may well say that that policy and that contract is not a valid thing. Um, I mean these are quite cheap, but this could be really expensive goods, a lot of stock and purely on the allegation of a trademark infringement. They are holding them and threatening to destroy them without any actual decision or court order. I'd like to see that in front of a county court judge just to see what they say and and it will be worth the I don't know 50 quid or whatever it cost to do that. So, and Amazon probably won't want to sit in a county court and defend their retention or destruction of my property. So, we will see. So, fingers crossed. But yes, this is how impossible Amazon are to deal with on a day-to-day basis. Good luck if you want to deal with Amazon. And sadly, they're in such a monopolistic position that it's hard not to. Thank you.
I have been using "WS2812" based LEDs for some years - both on PCB using tiny 1x1mm LEDs, and on LED strips, and fairly light chains and so on. These types of LEDs are becoming very popular, with a range of subtle variations (colour order, if RGB or RGBW, and all sorts of other attributes like voltage and backup data lines).
The key feature is they work by a serial data stream that is chained along the LED strip. Each LED eats its data bits and then acts as a passthrough for remaining data until a reset pause, when all LEDs apply the new value to the LED itself. A clever system really.
For use on PCBs, I have already blogged on use of 1.5mm x 1.6mm shallower version of the same Xinglight LEDs that are way nicer in many ways. I can litter a PCB with status LEDs in all sorts of styles, and have done so on various PCB designs, all using a single GPIO pin to drive them.
But even on a board with just one status LED, this still makes a lot of sense using just one GPIO.
This recorder board is a nice example, 7 LEDs on the board. Making rows of LEDs as a level indicator is great.
Drivers
The fun is drivers for this. You need a way to control the LEDs and what they show.
Thankfully Espressif have a driver, a managed component led_strip, which allows you to create a strip with LEDs in a variety of formats, update LED values, and send.
They use the RMT hardware, which is intended for generating pulse streams used for IR remote controls. This makes a lot of sense to generate the exact timing. Here is an example of timing needed for WS2812.
So, pulses 400ns and 850ns, and gaps 850ns and 400ns. Makes sense to use RMT.
But wait, here is another WS2812 data sheet...
This has pulses 400ns and 800ns, and gaps 850ns and 450ns! OK, both say ±150ns, but why different?
A similar chipset SK6812 has these...
This is rather oddly specified as 1.25us total, but pulses of 300ns and 600ns, but gaps of 900ns and 600ns. So very different, and also adding up to 1.2us not 1.25us.
On face value this does not overlap the spec for WS2812 (either one) quite. But close.
The LEDs I am using are Xinglight, and they have a data sheet of...
This is very different, it lists minimum pulses only, of 300ns and 900ns, and gaps 900ns and 300ns, and a longer reset time.
But the part number is XL-1615RGBC-WS2812B includes WS2812B in it, yet this is different to WS2812 timings (either of them). But this overlaps with WS2812, which is good, well sort of, 850ns fails a minimum 900ns, so sort of.
But let's look for the data sheet for that exact part again, and oh, now I see.
What the hell? This is a 1.75us bit timing, and not an overlap with WS2812. Also, note, they have max 0 280ns and min 1 650ns, so what happens between those - there has to be a decision to read as 0 or 1.
But surprise! They all work using the same driver. It really is an appallingly crap set of data sheets.
Using SPI
RMT is great for exact timings, but struggles with the amount of buffer you need (4 bytes per bit) and struggles to cope under heavy load - even when set to use DMA - so when re-flashing the LEDs go disco.
An alternative way to drive these LEDs, which the Espressif driver now handles, is to use the SPI bus, to clock data. This would not handle things like 450ns and 800ns, but can do nice round multiples like 400ns and 800ns pulses and gaps using 3x clock and coding 100 and 110 per bit.
In practice I have made my own SPI drivers now. This is because I want things the Espressif drivers will not do, such as multiple strips on same GPIO but with different RGB order, or RGB and RGBW stacked up. I also want switching one SPI between different GPIOs cleanly with no glitches. The earlier LEDs will quite happily pass on the controls for the later LEDs even if different order and format - clever isn't it.
My code does allow for different chipset timings, with WS2812 being 400/800 and 800/400, SK6812 being 300/900 and 600/600, and Xinglight being 300/900 and 900/300. But I have found with a lot of testing that basically all of these work with various different types of chip. Crazy.
So I have settled on a simpler driver being 300/900 and 900/300 as that seems closest to being in spec for all formats. It makes encoding simple, 4 bits on SPI bus per bit of data on this, so coded as 8 or E per nibble.
I have no clue why so many subtle, but sort of overlapping, and sort of working specifications. What is crazier to me is the exact same chips seem to have multiple data sheets with different specifications.
In practice, it should be simple, a pulse below say 500ns is a 0, and over that is a 1. A gap of under say 50us is a gap to next pulse, and beyond is a reset. There is no need for a ± on any of these, just a clearly defined minimum and maybe a minimum pulse 100ns and recommendation to stay 50ns away from the limits to allow for rise/fall times on real wires.
I have found some cases of differences though. Initially my SPI code switching GPIOs caused a glitch before a gap (reset) then data. This worked on various LEDs, but one WS2811 fairy light strip failed with glitching and corrupted LEDs. I fixed the SPI glitch and it was fine. But it showed a clear distinction in how reset was handled and how a glitch was handled on some chipsets.
It seems Companies House are more of a pain in the arse than I realised. Not just new ID crap on "confirmation statement" but also for anyone that is a PSC and not a director on anything company it is 14 days from start of month of birthday. Worse, it is not a deadline, it is a 14 day window - you cannot confirm ID now, you have to wait for the right moment, FFS. Why?
But also hassle with Wex and Royal Mail and Amazon (again).