The Let's Play Archive

SHENZHEN I/O

by Quackles

Part 35: Assignment #14: Sandwich Assembler??

Sandwich Assembler??

Yesterday, Carl and I went on a bit of a day trip to the 'wet market'. The electronics wet market, to be clear about this. (I'm simplifying a bit because the entire district is basically... anyway.) I know someone on here said I should visit, but I wasn't expecting the scale of what there was until I walked until a several-story mall-style building...

...selling phone cases. Mostly. Let me just repeat that: a full mall building selling almost nothing but phone cases. (Wholesale, not retail - but wholesalers gotta set up somewhere.) And that's just one building.
The other thing I didn't expect to find was repair shops. I mean... OK, so suppose I was using my laptop, and it broke, for logic-board based reasons. If this were North America, the logic board would basically be junk, and I'd have to get a new one.

Here, there's almost certainly someone, SOMEWHERE, out there with some sort of automated soldering iron that would be able to try to fix it. And new parts would be available just down the road.

Of course, there were also a number of shops etc. selling various kinds of bric-a-brac, kitsch, and junk. I mention this because my latest assignment is from someone who'd feel quite at home there...










This strikes me as something that could work, though I have to wonder - who would want that many sandwiches made in an automated manner (as opposed to making them themselves)? What if you fill the mustard compartment with mayo? The keypad still says 'mustard'. What about if you want extra cheese and no mustard?
Heck, what if you're Canadian?

TLDR: This doesn't look that customizable in the grand scheme of things, and I'm having a hard time thinking of applications. This doesn't mean that 'personal sandwich maker' is a bad idea. You could probably make a more programmable and versatile design and sell lots of units. Just... as it is now, this feels like junk.

But hey. Maybe Joe's on to something, and we can get rich selling junk.

[ ~ ]





You ever have that feeling where a solution almost works, and it feels like there's a way to sort it out but you can't see what? That's where I'm stuck.
This design does everything asked of it: the 'tcp' with the keypad sets the mode (1 = normal = , 2 = no cheese = no flag set, 3 = extra mustard = +), then the MC pulses the 'bread' output with gen. After that, we start messing with the other three outputs through XBus - meat, cheese (if + or ), and mustard (extra on +) in that order. And then the final gen instructions pulse the bread and the flag.

The only problem is that I don't have the space to add an instruction that turns off the I/O expander, which would stop the flow of mustard. So, once the machine starts dispensing mustard, it never stops.



I need to figure out a way to save one instruction, or this design is toast... so to speak.


[ ~ ~ ]





It took me an embarassingly long time to figure out the solution, which is two lines of code different from the previous version. First off: I realized that... well, the bit in the middle, with 'mov 10 x3', is what does the cheese. It needs to not trigger unless a conditional flag is set - 2 is 'no cheese', and tcp won't set either flag if that button is pressed. That's why there's two different slp instructions, each with their own flag - you dispense cheese on +, and on , but not neither.

The thing is, in the original I also did 'mov 10 x3' twice with the flags in the same way. I'd forgotten how quick MCs run - now, there's only one copy of 'mov 10 x3' and it always runs, but it gets overwritten by 'mov 1 x3' (mustard) almost immediately if no flag is set (i.e. no-cheese mode).

(Fun fact: For a while, I was even considering adding a second MC before the main MC, to transform the input into something easier to sort out - but this design works, there are no further mustard spills, and my bacon isn't... toasted?)



Eh, whatever, mixed metaphors are fine for now.
¥6, 85 power... I think this design is as good as it gets.



I'm kinda torn. I really don't want to wish ill on Joe. But all the same, he's wasting everyone's time with these not-very-well-thought-out ideas, and it's hard not to get mad at him sometimes.

[sigh...]





UPDATE:

Guess what? Joe contacted me again. This time in person, and, uh, 'on the down-low' (or at least as much as is possible for Joe). He mentioned something about retrofitting the internal mechanism to work for a sandwich vending machine - which would require a few changes on how it handles input. The rest of the design is the same, though.

I had to dig the updated spec out of the old interoffice mail system. Message# 2241. It's old enough that the interface to get it ('Message Archive') was in my tablet's Control Panel, and not in the mail program directly.





(It's the exact same board, to be clear, but the spec's changed:)







I really, really do not want to have much of anything to do with this past this point - so, I'm going to toss this one at all of you, if anyone's interested.

Readers, got a good design? Make sure you're using the updated spec!