Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Quackles
Aug 11, 2018

Pixels of Light.


Tag, You're It!



I know Carl is disclaiming this, but, like the game controllers, this is a project idea I can definitely get behind. Laser tag's fun (one might even call it "AWESOME"), enjoyable, and I'm doing meaningful work making the things.








That said, boy howdy is that a big board! I might have to break my screenshots into pieces just so you can see everything. With the inputs (and output) regarding player vest state on one side, and the i/o for the player's gun state on the other, this design is screaming 'let two MC4000s handle it'.

So here goes. Let's see if we can get two separate circuits working, each with its own expander!

[ ~ ]



 

I've discovered I have a habit of making bold pronouncements about a design before I really dive in. This time, the wrinkle I wasn't expecting was mostly because I didn't read the spec as carefully as I'd intended. My prototype design had the two MCs separate - but the 'gun' MC does require the player to count as alive before it will fire. Which means the vest MC's output has to connect to the vest and the gun MC.

Aside from that, it's pretty straightforward. The vest MC checks if the 'hit' or 'respawn' inputs are active and passes the result on to 'alive' and the gun MC. The gun MC tcps and checks for 0 (reload) or 10 (fire), with 1 as the state if neither event is happening thanks to the NOT gate. (You might recognize this design pattern from the Team Baron drinking game scorekeeper.)
Anyway. If 'reload', the gun MC resets acc (used as an ammo counter). If 'fire', the MC checks the ammo counter, then 'alive', then fires the 'laser'* if all is OK. Pretty straightforward.

*The spec says 'laser', but that's just because it sounds cool. Laser tag guns don't actually use lasers - they use infrared signaling from the guns so no one shoots their eye out by laser beam.

Before I send this off, I feel obligated to make a shot at combining this into a single MC6000, just to see if I can keep the 'all-in-one' design pattern train rolling. I think I have enough pins and few enough lines of code to pull it off...

[ ~ ~ ]





I pulled it off. The logic is almost exactly the same, except 'alive' is also copied to dat so the 'gun' part of the code can check it easily. On top of that - yep, faster, better, cheaper again! The updated design is ₯8 / 290 avg power instead of ₯9 / 381 avg power.

I'm wishing Carl's friend the best of luck on this.



BTW, I noticed something interesting in my updated design. If you're hit JUST after you're firing (specifically on the time unit immediately after the gun pulse), the MC will be asleep and won't register the hit. I checked in the simulator and found it's possible to remove this design flaw by deleting the second slp and removing the conditional flag from the first one, at the cost of about 55 average power per run.

I've decided to leave it in - this is for an AWESOMEPLEX, after all, and it feels appropriate to leave this in as a 'difficult but AWESOME' technique for players to find. And I can use it if the office ever goes out for laser tag!!
Don't tell Joe and Lili, 'k?

Adbot
ADBOT LOVES YOU

AceOfFlames
Oct 9, 2012

This mission is interesting to me because it was apparently added smack dab in the middle of the campaign sometime during Early Access. Since I had played this game during the first few weeks of EA then came back to it this year, I was surprised to find a whole new mission there. As the email implies, I suspect it was added to force people into realizing the capabilities of the digital expander.

Quackles
Aug 11, 2018

Pixels of Light.


Cool Dad!!!!!!!!!!!!!



We get it, Joe - you vape.





There's a few questionable design decisions that jump out at me already, reading this. First off: who's broadcasting the color-changing radio signals? This feels like the sort of promotional item that only lights up, or at least, in any meaningful color pattern, at Cool Dad concerts.

Second off is the interrupt requirement. The design I'm thinking about has a 'dispatcher' MC to translate radio signals, then a MC for each of the LED's pins (Red, Green, and Blue), each of which tracks the time and turns off appropriately - but just sending the pulse level and time to the individual-color MCs won't work so well, as each MC also has to be on the alert for an interrupt signal.

I'm not even sure if I can do this, with the allowed board space - though if so, it'll make for a complicated wiring diagram. I'll experiment and see what I come up with.

[ ~ ]



 

This one took me a day to sort out, and there's a lot to explain here.

The first MC is, as I'd initially planned, the dispatcher. It sends the color pulse value to each small MC on their individual XBus lines, then sends the time value to all the small MCs the same way. The small MC code was a lot harder to create, and for a while it wouldn't narrow down to 9 lines of code. (Can you imagine doing this with 3 MC6000s on the right side? Could everything even fit?)

All three small MCs have the same code, which waits for a signal, passes it on to the output (and acc for the counter), then sets up a loop that only ends if acc is 0 or p0 is on.

p0 - which connects all the MCs to one another - is the interrupt signal I mentioned above. When the dispatcher MC is receiving a new command, it sets p0 to alert MCs that are in the middle of pulsing something else. It's timed so that the dispatcher will always set p0 before the small MCs test for it - whereupon the small MCs will finish up immediately and get the XBus values. (The dispatcher then clears p0 before sending the new time so that the MCs go back to normal.)

This was a remarkably unpleasant amount of work to do, but I'm sure Joe will be happy with it.

[ ~ ~ ]

Joe wasn't happy with it. More specifically, Joe promised Cool Dad's people a maximum quote that my design doesn't actually hit. (In case you're wondering, ₯14, 1.2K avg power. Yikes!) He wants me to try and make it cheaper, if I can pull it off. How on earth am I supposed to do that?

I'll try and look at the design again. That power usage has me concerned. Maybe I can at least find a way to improve that, and that'll help?

[ ~ ~ ~ ]



 

It's still ₯14, but it only uses 447 power - and it's a lot easier to understand! The key was to only keep track of the timer once, in the dispatcher. This removes the need for an interrupt pin (the dispatcher MC has to check for radio signals every time unit anyway), and the instructions saved from sending the timer to three different MCs lets the MC6000 work to keep track of the timer in-chip.
(I do have to put the radio input in dat now to free up acc for the timer, but it's a minor change.)

The small MCs are now basically XBus-to-simple-output converters.

Now I just need a way to do away with some parts, and I can stop Joe from being nervous right outside my cubicle...

[ ~ ~ ~ ~ ]



Sometimes being too close to the problem means the answer is staring you in the face and you don't realize.

I had two simple I/O pins on the dispatcher MC that I wasn't using, so I could do away with two of the converter MCs and just send the output directly. Hey presto - ₯8, 377 avg power. And the one-MC6000-and-attendants train rides again!

Now time to get this job out of here.



...... all that work and ......


I have come to the conclusion that whenever Joe pitches a product, it will be a piece of overcomplicated kitsch at best, and a boondoggle like this at worst.
Sadly, I still have to listen to the guy. :nsamad:

Ratoslov
Feb 15, 2012

Now prepare yourselves! You're the guests of honor at the Greatest Kung Fu Cannibal BBQ Ever!

Lili Wu is great.

Dareon
Apr 6, 2009

by vyelkin
Unintended use cases are a passion of mine, and those radio-controlled vapes have some cool ones. If Cool Dad's techies are on the ball, they'd have two signals going: a manual override and one that syncs to the music to auto-pulse the LEDs. If the music pulser is on the same frequency as another common broadcaster, your vape could pulse in tune with your drone controller. Or your RFID reader. Or your teledildonics suite. Or whatever RF-controlled device you've got hanging around.

Also, amphetamines? That's not even a Cool Drug. More like Uncool Dad.

Deathwind
Mar 3, 2013

At least there's decent money in vapes, just gotta remove that grotesque 'art' they wanted on them...

Quackles
Aug 11, 2018

Pixels of Light.


Device 2A27





Wow, another day, another email, huh. I can't say I've ever seen anything like this before.
I wonder what it wants?







OK, so two or three things leap out at me, looking at this. The first is that Poseidon-whoever has left just enough detail in the specs to intrigue me as to what on earth this is supposed to be used for. What does 'flux point' even mean in this context? The second thing I can see, which should make things easier, is that the state space appears to be composed of two areas added together - the left-right vertical bars, worth 30, and the square near the center, worth 50.

This neatly fits into the third thing, which is that I have two simple inputs and one simple output, and none of them are expander-compatible this time. So I'll have to use at least two MCs. Probably one to determine the vertical bars, then a second (attached to it) to test for the square and pass the result on.

[ ~ ]



 

Before I say anything else, let's be clear: this prototype doesn't work. I'm still working out the kinks, and one of them is that MC that checks the square part (currently the second MC in line) does need to check the 'x' coordinate as well as the 'y' coordinate. (I thought it didn't - that's how we got the picture above.)

So, seeing as the second MC has its simple I/O pins full already (one with the y-coord and one with the output), it looks like I'll have to get MC #1 to pass the x-coord value along by XBus if I want to use it there. The only complicated part is that it might have to pass the x-coord more than once - there's more than one test that uses the coordinate, after all (40 ≤ x < 80).

[ ~ ~ ]



 

I have a dilemma. The above is what I came up with. I know it'll work - the first MC passes the x-coordinate along to the second MC twice (once for each of the two tests it has to do with it), and the second MC does the tests.
The dilemma is that the code doesn't fit - the 'mov x0 null' lines are necessary to throw out the x-coordinate values in case the second MC doesn't actually need to run those tests (because otherwise the first MC'll block when trying to write the x-coords)... but the cost is that the script is 10 instructions long. Yeah, I could just slot in a MC6000 - but it feels like I'm really missing some sort of better way to do this.

I'll keep playing with it and see if I find anything. Saving just one instruction would be enough!

[ ~ ~ ~ ]





Remember how I said I thought I was missing a simpler way? I was. The trick is to do the testing for the square first. The first MC (on the left) now tests for the square (it can attach both its I/O pins to x and y), then sends that along to the second (middle) MC, which only needs the x-value for its test (the two vertical bars). It can add the result of the two tests and send the total out easily.

The design feels pretty clean. I don't think I can do much better on this one now.



I did some digging on Decentralized Autonomous Corporations. When they were first introduced, due to using evolutionary algorithms, the corporations would routinely find 'loopholes' in laws that led to some pretty weird and undesirable behavior - weird and undesirable for the rest of us, that is.
I am given to understand that DACs have a somewhat narrower set of algorithms that may be used nowadays - that, and there's been some loophole-patching of various laws, too.

At least they're not let onto the stock market, not after the 'Flash Fire' crash of 2021. Can you imagine?

Carbon dioxide
Oct 9, 2012

Do you have any idea who patches loopholes in those corporations? I mean they don't have human leadership or anything.

If one goes "rogue", so to speak, and it works on evolutionary algorithms, it might even evolve a way to hide any loopholes from inspectors.

Sounds scary to me.

pumpinglemma
Apr 28, 2009

DD: Fondly regard abomination.

Fun fact: thorium can be enriched to uranium-233, which is suitable for use in nuclear weapons. Hope that AI has a well-written utility function!

AceOfFlames
Oct 9, 2012

Carbon dioxide posted:

Do you have any idea who patches loopholes in those corporations? I mean they don't have human leadership or anything.

If one goes "rogue", so to speak, and it works on evolutionary algorithms, it might even evolve a way to hide any loopholes from inspectors.

Sounds scary to me.

I think there's a sci-fi story about something like this, though I don't remember what it was called.

klafbang
Nov 18, 2009
Clapping Larry

AceOfFlames posted:

I think there's a sci-fi story about something like this, though I don't remember what it was called.

Maybe you're thinking of reality

Ibblebibble
Nov 12, 2013

pumpinglemma posted:

Fun fact: thorium can be enriched to uranium-233, which is suitable for use in nuclear weapons. Hope that AI has a well-written utility function!

It's also shipping it to noted province with separatist issues and probable cultural genocide Xinjiang :v:

GuavaMoment
Aug 13, 2006

YouTube dude

Technical question here - how come your pngs have jpg artifacts? How are you capturing these images? There's an issue somewhere in here we can fix.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe

GuavaMoment posted:

Technical question here - how come your pngs have jpg artifacts? How are you capturing these images? There's an issue somewhere in here we can fix.

I just zoomed way in on that screenshot and I don't see any ringing or fuzz -- or at any rate, no fuzz that wasn't introduced by the screen magnification. The screenshots look fine to me. :shrug:

GuavaMoment
Aug 13, 2006

YouTube dude

TooMuchAbstraction posted:

I just zoomed way in on that screenshot and I don't see any ringing or fuzz -- or at any rate, no fuzz that wasn't introduced by the screen magnification. The screenshots look fine to me. :shrug:

Ok, this is weird. I was using a different computer before and the images were really artifacted. I'm back on my main and it looks fine now. I've never heard of that happening before and I don't know how it can. :confused:

Jabor
Jul 16, 2010

#1 Loser at SpaceChem

GuavaMoment posted:

Ok, this is weird. I was using a different computer before and the images were really artifacted. I'm back on my main and it looks fine now. I've never heard of that happening before and I don't know how it can. :confused:

Image compression proxy? Some ISPs (especially mobile ones) like to do that to conserve bandwidth.

Quackles
Aug 11, 2018

Pixels of Light.


Undocumented Instruction





Holy poo poo.

Holy poo poo.

Holy poo poo!


OK, so, uh, yeah, [cough] my sentiments are almost exactly identical to Carl's in this regard. I'm not gonna start throwing around words like 'competitive advantage', but...

You know, of all the thoughts that are running through my mind, I'm flashing back to the whole business with the eSports gamer signs, months ago. That guy on ChipOverflow - I never ran into him again, and I was able to find a ₯6 solution with help from the comments, but what if his ₯6 solution was based on using gen to create pulses? I remember running out of space on a MC6000 due to pulses taking up so many instructions...

[sigh] I guess all we can really do is learn and move on. gen and @ are going to be useful tricks to know...


Carbon dioxide posted:

Do you have any idea who patches loopholes in those corporations? I mean they don't have human leadership or anything.

Not a clue! There's some more details on Wikipedia, I think.


GuavaMoment posted:

Technical question here - how come your pngs have jpg artifacts? How are you capturing these images? There's an issue somewhere in here we can fix.

I take the screenshots with my tablet's inbuilt screenshot mode, which generates .png files. For emails, I then crop them, and nothing else. For pictures of large boards, I size them down to 50% - my tablet's got a high-DPI screen, and full-size images would break the layout. (You probably won't notice unless you have a high-DPI screen yourself.)

If you're referring to the checkerboard pattern on the 'unknown sender' picture, I think that's the email program, not a JPEG artifact. Same for the background of the simulator - there, the check pattern lets you place parts accurately.

Of course, maybe it's just that I've never shown you Joe's true form...




(Postscript: Ah, I see it was on your end. It happens!)

Quackles fucked around with this message at 22:13 on Sep 3, 2018

Quackles
Aug 11, 2018

Pixels of Light.


Three Kingdoms Tokens



They used to say TV was “Life with the boring parts cut out,” and I guess this also applies to amusement parks! Honestly, I shouldn't really be surprised that there is a Three Kingdoms Land here... If Disney World can have areas themed after parts of the American past, it only makes sense for China to do the same.
Anyway, let's see the spec.








Seems pretty straightforward, though (even with I/O expanders) this is definitely a 2+ MC job - ringing the bell and giving change should probably be done by separate MCs, just because it'll be a complete pain to coordinate otherwise. It's also worth noting that when giving change, all 5-銖 coins have to be given before all 1-銖 coins.

In the same vein, the first MC has to be the one accepting input. So...

[ ~ ]





So far so good. The code I've written up to this point adds the inserted coins' value to acc - then tests it against the price. It'll ring the bell and notify the change-giving MC (not yet in) how much change to provide, but that code isn't written yet.

I know what I'm doing next.

[ ~ ~ ]



 

I've added the second MC, though right now it only gives change in 5-銖 coins. The first MC's almost complete, except for the bit where it rings the bell - it subtracts the price from the total inserted and passes that value on to the second MC.

Just a bit more work left on this one!

[ ~ ~ ~ ]



 

Here's the final version. It's ₯11 and uses 326 power per run, on average. It turns out the change-making MC needed 10 lines to make change (once I added the code that gives out 1-銖 coins), and I couldn't get it down to 9, so I had to bump it up to a MC6000.
In addition, the first MC rings the bell.

Honestly, I don't think there's any big optimizations to be made with this design. It seems pretty solid, though it really would have been nice to do it for ₯9 as I'd originally envisioned.



More ancient wisdom: They say he who runs in front of a car gets tired, while he who runs behind gets exhausted.

Quackles
Aug 11, 2018

Pixels of Light.


Engineer's Corner #5: Shen-gen I/O

You might have noticed I had the opportunity to use gen in both chips in the previous assignment, and only did it in the second one. There's a reason for this.

I did some testing. One gen is equivalent to a sequence of four mov and slp instructions, in every way, including how much power is used (4)... almost.
The catch is that gen draws a bit more of its power up front, consuming 2 power on the ticks it starts and stops the pulse (because it's doing the effect of mov and getting itself into slp mode on the same tick). By comparison, the sequence of mov/slp instructions spreads its power draw out over four ticks, one for each instruction.



This shouldn't affect power usage in the long run when a device is out in the world, but my simulator will sometimes end tests whenever it feels like - so designs that use gen may get a higher average power score compared to ones that use mov/slp for the same thing!

I know it's foolish, but I enjoy chasing the numbers if I have the opportunity (and the free space to use mov/slp instead of gen).


By the way - now that I have @ to work with, I'm able to answer a question someone asked me a long time ago...

RichardA posted:

Also in the Infrared Sensor it might be possible to fit in a slp acc with acc being the time until the sensor is armed instead of looping and checking each time-step.

I cooked up a new design that does just this:



 

Compared to my best design originally (₯6 / 358 avg power) this is ₯8 / 300 avg power. Most of the big MC's script:
1. Calculates how long until first 'on' time and sleeps that long. (This design assumes it is initially started during when the sensor is supposed to be 'off'.)
2. At the 'on' time, calculates how many time units the sensor needs to stay on out of the 96-time-unit cycle the real time clock uses.
3. Pushes that value to the small MC.
4. Waits 24 hours (96 time units), then repeats from Step 3. (The @s keep Steps 1 and 2 from reoccurring - and the 'teq dat 0' line is there to force the conditional flag to +, so that the two 'add 96' lines are disabled in addition to all the @ lines.)

The small MC takes the value (how long to stay on) from the big MC, and runs the sensor/alarm for that many time units, then goes to sleep to wait for the big MC to wake it up again.

Thanks for the inspiration, @RichardA!

Quackles fucked around with this message at 03:57 on Sep 4, 2018

Aesculus
Mar 22, 2013

Fun fact: There is in fact a Chinese version of the insturction manual.

gen and the @ conditional are not in that one either. :iiam:

Anticheese
Feb 13, 2008

$60,000,000 sexbot
:rodimus:

AceOfFlames posted:

I think there's a sci-fi story about something like this, though I don't remember what it was called.

Accelerando by Charlie Stross heavily features autonomous corporations, and is from 2005 - well before dumb poo poo like the "DAO" showed up IRL. And promptly got hacked.

AceOfFlames
Oct 9, 2012

Anticheese posted:

Accelerando by Charlie Stross

That's the one. I should read that some time.

Anticheese
Feb 13, 2008

$60,000,000 sexbot
:rodimus:

AceOfFlames posted:

That's the one. I should read that some time.

Good news. It's free on Stross' website in a variety of formats.

Ibblebibble
Nov 12, 2013

Accelerando was a crazy read when I read it. It's great, though.

Also, I believe David's Chinese proverb is the classic "a journey of a thousand miles starts with a single step".

RickVoid
Oct 21, 2010
I'm not sure which was better there: David casually dropping untranslated Chinese into an e-mail intended for people he knows (knows!) can't read it, or Carl's savage AF reply.

You gotta get a new salesman though, man. That guy is gonna drive the business you're working for straight into the ground. Do you have an escape plan if the company goes tits-up and you're jobless in Shenzhen?

sincx
Jul 13, 2012

furiously masturbating to anime titties

RickVoid posted:

I'm not sure which was better there: David casually dropping untranslated Chinese into an e-mail intended for people he knows (knows!) can't read it, or Carl's savage AF reply.

This game has such accurate characterizations of "expats*".

* - immigrants, but white, so there just has to be special word for them.

pumpinglemma
Apr 28, 2009

DD: Fondly regard abomination.

sincx posted:

This game has such accurate characterizations of "expats*".

* - immigrants, but white, so there just has to be special word for them.
Pretty sure it's just a general term, there are plenty of google hits for e.g. Indian expats.

Kurieg
Jul 19, 2012

RIP Lutri: 5/19/20-4/2/20
:blizz::gamefreak:
Yeah, it's just the term for someone residing, temporarily or permanently, in a country other than their native country.

Discendo Vox
Mar 21, 2013

We don't need to have that dialogue because it's obvious, trivial, and has already been had a thousand times.
goons.


the word you're searching for is goons.

Quackles
Aug 11, 2018

Pixels of Light.


Shenzhen Days: Say Cheese!



Wow, has Tilly been talking to Carl?
Even if the answer to that is 'no', I get the feeling from her emails that she's had too many somewhat uninformed North American types chatter at her one too many times.


RickVoid posted:

You gotta get a new salesman though, man. That guy is gonna drive the business you're working for straight into the ground. Do you have an escape plan if the company goes tits-up and you're jobless in Shenzhen?

Eh-heh. Well, there is still David. He has been making deals - like the thing for the amusement park, and so on.
As for if I end up jobless in Shenzhen - my work visa is kinda-sorta tied to my employment at Longteng, so the escape plan may be, obligatorially, "go back home". Not sure what I'd (be able to) do after that.

Quackles
Aug 11, 2018

Pixels of Light.


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!

RickVoid
Oct 21, 2010

Gah, I feel a little bad now, but it's good to know that Jie is seemingly on top of things (I assume that e-mail was supposed to go to him only). Maybe this'll be the kick in the pants Joe needs.

klafbang
Nov 18, 2009
Clapping Larry

Quackles posted:

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.

Kickstarter it, but add DRM bread and an iPhone app.

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
Y'know what I want? A machine that will deliver a to-order sandwich made with bread that was specially baked just for that sandwich. It'd be a combination breadmaker and sandwich assembly bot.

The only problem is that I've yet to find a bread machine that can turn out really high-quality bread.

Ibblebibble
Nov 12, 2013

I will say, as an Asian guy from Asia and in Asia ATM I would indeed rather die than give up cheese.

Quackles
Aug 11, 2018

Pixels of Light.


Carbine Target Illuminator



Guess who got stuck with this job? I'm not really at all happy with this, but Carl being able to say no is one of the perks of seniority in this case, I'd think.








The actual design seems quite straightforward. You listen on the inputs until you have an 'out' pulse followed by an 'in' pulse, take note of how much time passed between them, then use that to drive the laser and/or flood lights. It's a job that should be easy for a competent engineer.

I think I'm feeling pretty competent today... :eng101:

[ ~ ]



 

First off: it looks like each of the inputs, radar-out and radar-in, obviously needs its own MC. The radar-out MC will send a signal to the radar-in MC on each time unit, indicating whether or not radar-out is on - this lets the radar-in MC know whether to count or reset its counter. Then, once that MC detects a pulse on radar-in, it'll start working on the sending output bit (which I haven't coded yet). It'll also send its count back to the first MC, because I think the first MC might need to do something with it. I'll figure that out when I get to work on the outputs.

[ ~ ~ ]



 
 

There we go! Outputs are half-done. It definitely seems like each output also needs its own MC, for result-testing purposes (though thankfully they're MC4000s or else I'd hardly be able to fit them on the board!).
It's pretty simple. The upper MC on the left sends the output to the top MC on the right, which handles the laser. The lower MC sends output to both bottom right MCs. (That's why it sends acc to x3 twice - so that each MC on the right can receive it once).

I just have to finish up the code for everything, and this'll be ready to go.

[ ~ ~ ~ ]



 
 

This is the final version. I had to upgrade the top right MC (controls the laser) to a MC6000. It's unfortunate - but you have to have a test for each possible value, and then you can only use the value from an XBus pin once, right? But I also read on ChipOverflow that you also have to store the value from an XBus pin before you use it, so that's 3 lines for each of 3-4-5-6. So, 4 * 3 = 12 lines = big MC.
(The same applies to the bottom right MCs, but there it's only 6 lines each because they only check two values, so they can stay MC4000s).
All the code is really clean and understandable, so it's not like I need to comment it or anything.

The only other big change is that I finished the code for the bottom right MCs, adding extra sends on the radar-in MC as necessary - the bottom-right MCs also each needed a slp 1 in their scripts - otherwise, they were eating the sends meant for their sibling.

And that's a wrap! ₯21, and 757 average power usage. I'd say that's the best I can do.



Yeah, Carl isn't all that happy... but I'll show him my design later.

rchandra
Apr 30, 2013


Quackles posted:

Yeah, Carl isn't all that happy... but I'll show him my design later.

Doesn't this only work when the gun is already pointed at the target? Maybe Carl can be happy you're sucking money out of defence budgets with impractical gadgets.

Dareon
Apr 6, 2009

by vyelkin
Yeah, as a concept this sounds cool, but it'll be pinging back close-range whenever the gun's pointed at the ground or whatever cover the operator's low-dragging behind. Alternatively, it'd make a decent motion switch for a home security light.

risky business
Oct 9, 2012

Barns?

rchandra posted:

Doesn't this only work when the gun is already pointed at the target? Maybe Carl can be happy you're sucking money out of defence budgets with impractical gadgets.

I rather suspect that's the idea.

Adbot
ADBOT LOVES YOU

VKing
Apr 22, 2008
I appreciate that solution.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply