I have the mindset that I enclose my spool of PET-G filament inside a zip-lock plastic bag containing a sachet of Silica Gel at the conclusion of printing each day.

Oops. This morning I forgot to remove the bag before commencing printing. Then I looked at the placement and closure of the bag and assured myself that it's not going to snag or catch on the fed filament.

Because of PET-G's hygroscopic nature, I'm thinking I might make this a feature. Sometimes mistakes produce uforseen benefits. πŸ€”

You know you need to get outside when your mind wanders to "I wonder if my LetsEncrypt certificates will update successfully this Sunday!" πŸ€ͺ

Ramping-up my Face Shield production. Three today and hopefully four tomorrow. Slow and surely wins the race. I only have one 3D Printer and they take 3.5 hours each. I'll try to improve on four-per-day but we do need to get some sleep. 😊

Trying to get my head around designing a simple buffer for a PIC's DACOUT analogue output to drive a TFT display LED backlight.

Sounds easy? but things are operating at 3.3V and this buffered output must sink current at voltages down to 0V. That rules out things like a PNP emitter-follower.

A low voltage operational amplifier might be the answer but it too must work down to the 0V rail.

My mind is now wandering towards a NPN Darlington configuration where the main transistor can saturate. πŸ€”

Programming in JALv2 is interesting.

Imagine a language without pointers and only being able to pass single array elements or simple variables to procedures and functions.

It does have some nice features like being able to place variables at hardware addresses permitting novel optimisations.

While this might be considered limiting, in the context of the PIC micro it's actually good. I've tried C programming on PICs and it's easy to exhaust resources.

This is like one level above Assembly.

Looks like exports from China are being hit now.

I had a couple of ESP8266 and ESP32 modules on order from eBay and due for delivery later this month.

I've just received notifications that the sellers have cancelled both orders and I've received refunds on them.

Interestingly, the notifications were worded identically from both sellers which kinda confirms that these Chinese sellers might not be so separate after all.

Anyone else had these cancellations?

Screenshot Sunday. My gpsim layout for debugging early development of my PIC-based touchscreen project.

3D Printed Porn 

Our Doctors' Surgery has switched from by-appointment to by-invitation.

The front door is locked and if you have an existing appointment you'll receive a phone call.

If you're required to be seen, it's by arrangement and you'll be greeted by someone in full protective clothing and you'll be sanitised on entry and exit.

In other respects no face-to-face appointments will be offered.

I've never encountered practices like this in the UK in my lifetime. Are other countries doing similar things?

I've been dusting-off my PIC development toolchain.

JALv2 needs no special mention other than it's capable of generating .cod and .hex files for debugging and programming respectively.

gpsim doesn't support the PIC18LF26K22 but knows the 5V variant the PIC18F26K22. Using a .cod file I have source code debugging (with some odd syntax highlighting).

My usbpicprog PIC programmer supports the PIC18LF26K22 but the XML config file had some errors and omissions which I've fixed with the datasheet.

I'm starting a Microchip PIC-based development and have chosen JALv2 as the programming language.

I'd say that JALv2 is quite a niche language and in the past I've used Geany with a hacked-together highlighting configuration file.

This time around I created a tiny fragment of JALv2 code in GVim and it was instantly highlighted.

It looks like Vim supports even this little-known programming language. Who knew?

Finally had enough of Hewlett Packard's messing with inkjet cartridges to prevent remanufacture and reuse.

So now I'm looking for recommendations for a Colour Laser printer. Primary requirements are:
1) Wireless connectivity (a shared resource)
2) Supported under Linux and Windows 10
3) Under 500GBP would be nice

A question for our support gurus maybe and it's for a UK purchase.

I was amused by a YouTube video whose creator was doing some retro-programming of a simple 8085 system in Assembler.

He was describing the coding methods used at the time as creating spaghetti code and that such systems were limited to performing 8-bit only operations.

As someone who did program 8085s in Assembler, during the same era, I have to disagree. I can recall writing code that would be described as well structured.

And, there were limited 16-bit instructions supported by the 8085. πŸ˜‰

Increased my STM32 playground by one today with receipt of a Canaduino STM32F411 board.

This is a so-called Black-Pill Updated board featuring an ARM Cortex M4 chip and not much else.

It's amazing to see the levels of integration on modern devices. Well, it is for someone who started-out programming Intel 8080s in the late 1970s.

I enjoyed programming limited-resource solutions but having all this power at hand makes me smile big-time. 😁

Spent time today improving my e-mail reputation. What did I learn?

I recently got a new IP address for my outbound relay VPS. It appears that this IP had been listed as a Spam source previously at justspam.org. A bit obscure but I'm trying to get delisted.

Only one of many SPF validators hinted that I should list not only my relay host IP but other public IPs in the sending chain in my record. That means updating my DNS SPF record if my home IP address changes. Update script modded.

It's funny how little things bring great joy.

I just discovered the ThreadProfile workbench for and now it's a case of threads everywhere.

It has selectable construction quality which defaults to highest. You get to watch a, slow moving, busy icon for ages before it completes.

How cool is that? You get to ask yourself "Is this thing running or has it frozen FreeCAD?". Of course it's running, it's just playing with you. 😊

To add to the previous.

Icons will be held in flash and the character set in EEPROM. This will default to English but can be overwritten from the main controller if desired.

The PIC18LF26K22 has 1024 bytes of EEPROM which, if used exclusively for this, would allow for 128 characters each of 8 bytes. In practice, that many may not be needed in which case there will be some left over for persistent data storage.

I've learned that JALv2 supports simple multitasking. That will be put to good use.

Show thread

Looks like the PIC18LF26K22 is favoured for my touchscreen project.

It's a QVGA device (320x240px) and if I use 64x64px icons they'll each require 512 bytes as a monochrome bitmap and multiples of that for colour.

I can see 32KB of Flash being quickly eaten up with graphics data storage. You can get quite a bit of code in 512 bytes for comparison.

I'd like the touchscreen hardware to manage graphics so the SPI interface just transfers high-level data constructs.

I really prefer 3D Printing my own designs rather than someone else's. Why?

I design to size with standard engineering tolerances applied. A test print and adjustments during re-slicing correct for dimensional errors.

Printing someone else's design "that has adjusted tolerances for those with less precise printers" breaks my workflow somewhat.

Case in point. I'm printing a device from STLs (it was designed in Solidworks - I don't have it) so I have to measure things in and adjust.

It looks like a PIC18LF25K22 will do what I need with the option of PIC18LF26K22 if I need more than 32KB of Flash memory.

I'll be programming it in JALv2 which is a nice Ada/Pascal-like language with great low-level programming constructs.

Interrupt handling isn't a great strength of the language but I'd only need that for incoming SPI notification. The rest will most likely be programmed as a series of Finite State Machines.

The fun? part will be developing the communication API over SPI.

Show thread
Show more

Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.