A quick aside

For the sweeper, I should throw the bristles on a spring loaded thing with limit switches. This will be so if it hits something at one of the tips of the bristle head, it can register the touch, and behave accordingly. I’m still thinking of how to register the cleanliness of the floor. My current best thought would be a light pulse, and look for how fragmented the bounce back is. Maybe a polarized filter could do it cleanly. Really, I should just build a thing, mount a lot of crap to it, and then look for changes in measurements.

Different project idea

Fusion 360 can do sheet metal layouts. Paper is sheet metal made out of pulp. I have access to a digital printer (not counting the even bigger printers) that can print 20.8125×29.5. I have access to a CNC type thing that can cut, score and fold said paper.

At a minimum, I should define my own beer carriers and print up a couple mock-ups. After that I could look at going analog, by building a jig for a silkscreen and a tin can die. Or I could just do short runs. Either way, I should be more beer.

Tomorrow

The Wif has the day off, so it’ll be a hang-out-with-her day after work. Thursday though, that’s when I need to get back to work. Work wise, I’m down to a lot of projects that are variations of things already done, and a couple spare, clean ups of projects that I mangled together. So yeah. It’s time to get back to doing my home projects at home.

More work… Fun

So I need to as a cover element to a stack of items. The cover of course is unique. Oh, and the data stream is crap; I need to sort and filter the data; detail table are acting up. So much hate.

Option 1: figure out what’s going on with the detail table. Of course, each cell of the detail table might has one of two background images. That’s what really started screwing me. Easy way is skipping the detail table, and training each line if the original csv as it’s own record. But I need a seperator. Obviously I could just compare the current record with the last record, but that only works if the last record is saved in a variable. A VARIABLE is something that changes. If I find one more thing that says “once you aasign a value, you can’t thank it”… But back to what I was thinking.

I don’t know. I just need to bang this out in the AM.

Sleep.

Update:

I have a dirty way. It will honestly take longer to type then to do. I’ll type it later. It is terrible.

Do I never posted this previous update and I have 15 minutes:

  1. Sort the CSV
  2. Process the CSV as individual records, save
  3. Process the CSV as individual records with the type changed to cover
  4. Merge together
  5. Sort again

No detail table, XML, XSL, or separate scripting.

Will that was a fail. Final:

  1. CSV to XML
  2. Sort XML with XSL
  3. Process XML as one record per line of CSV
  4. Process same XML with one record per change of key field
  5. Strip the tail of one XML file and the head of the other
  6. Slam them together with a batch file using type
  7. Sort one more time using the original XSL
  8. Done

Unproductive weekend

I did a little bit of laundry and dishes, but didn’t work too much on projects. The major things I did were finish modelling the generic geared motors I have, and start modelling the sweeper bot. I’m trying to be good about using my constraints to define things, so I can then adjust the layout easily. I’m not really sure why I was so lazy and tired. Maybe it’s a continuation of my cold.

A tale of two data files

As wrenches must be thrown with great aplomb, it only seemed appropriate for this one. One data file into data processing. They’ll give the original file, with a quick fix here and one row per detail item, as well as a CASS/PRESORT file with one row per letter. Of course, these two files are four files, but the process is the same. I have a few options, but none of them is seeming great.

  • I drop the detail in to PReS Connect’s data repository (ghetto SQL). I then load the mail file, and pull in individual groupings of data. Hmm… This might be better than I thought, as I could just dump in the transactions parts as one big string and then split it in the actual content creation.
  • Dump both files into xml, merge them both together with an xslt, and remap the xml. This won’t be bad at all, as we’re already setup to use a detail table. For line sizing (really long details) this would be already ready to work. I should try making the said xml files, and see if I can get away with this. Also, not mucking with the repository makes me happy.
  • Load the two days files as strings in JavaScript. Use the sorted one to search the detail one. Map the new detail one.
  • See if I can sort data by an outside key. Without the repository that is.

As a plus note, every time I spend a few minutes teaching my coworker something, it totally makes more sense to me. I knew having an infinite amount of trivial knowledge would help someday. This last sentence was a lie.

Update:

While I haven’t actually done this yet, I think this will be the cleanest way. CSV mapped to XML, converted to JSON for each file. Combine the two together. Convert backish to XML. Map to established layout.

No weird external scripts, xslt files, or manual ministrations.

Further update (technically Friday’s):

The csv-xml-json-xml ploy wasn’t working.

External data sources are still a headache (if have to install stuff, which means contacting IT).

Resorted to doing the post into a repository, pull out back out. Took a little time to troubleshoot. One, some if the data I got was bunk. Two, and this one is just silly… Deep breath. I map the mailing data. From there I have the key, which is used to run a query from the repository. I push the repository data into a metadata variable visible to the template. But, the metadata is off by one record. First record has nothing, second has the first’s data, etc. All because I didn’t check the check box that said update the metadata…

Now I know I could do that, it’s cool and all, but really… Oh hey, I could totally abuse that for those payment coupon books.

That smart watch

It’s time to get back on this, now that I have a printer that prints.

BTW, this should help me get going on the software/pairing end.

First, I should get something visible on the OLED with the ESP32. Then print a thing to put the screen in. Try the tap sensor and buttons to find out which ones the Wif likes.

Next, as the functionality she wants. I don’t want to build everything, and then have her be like, I want this thing, and have to go back to square one since thing need more hardware.

Take the design file for the Thing’s PCB and start removing the things I don’t need anymore. Try to leave as much as possible within my foot print.

Make a dummy watch, and have her verify that everything is to standard.

Order boards, let’s get a bunch knowing how bad I’m at stuff somedays.

Order all the components. The more the merrier.

Assemble, test, revise, repeat.

Or this could all be another drop in the puddle of failure due to a lack of effort.

Steps

Not literal steps, like things on stairs, but the steps in a process. Right. Dumbest start ever. Whatever.

I modelled one of my servos and a couple horns. I can totally attach a horn to the servo and spin it. It’s actually kinda wicked. I’ve also started modelling a couple of right angle geared motors I have. It’s some good progress I made.

Or, just go easy mode.

The problem has always been the height of the stair versus the depth. That and for some darned reason I was fixated on the chin-up analogy. I could just have the get at the end of legs. Have the legs be two offset joints. By the way, gentle reader, I know not the words I abuse. The front legs are easy, as the would start at the front shoulder, extend to, almost, the back shoulder, and back to the front again. The back legs though would drag since they go from back to front to back. Except. This being why I bother writing this, except…

The rear leg’s shoulder would be mounted on a standard DC motor, continuous rotation servo, or stepper. Rather than folding down, which would rack the knee on the stair when ascending, it would spin over the top, gotta remember to take into account the potential change of position on this, thereby giving the rear leg a chicken walk, though that’s a lie. About chickens that is. They just have super long feet against tiny hips.