Live data from Hacker News

The software fixed the hardware

jwz.org

31–40 of 43 posts

Re: The software fixed the hardware

#31
post #25
post #22

Why can't this be done with a download and USB?

Does the Roomba have a USB port? jwz mentioned a 'serial' port...

It does not have a USB port.

The serial port is also a non-standard (for serial ports) connector (it is a standard DIN connector). My guess is that the average Roomba owner doesn't have a PC with a serial port, and probably wouldn't want to acquire an uncommon connector and wire up a serial converter cable, and then run some program on their PC to dump the firmware image in to the Roomba. The osmo dongle makes the process near foolproof for soccer moms and grandmothers and so on.

Re: The software fixed the hardware

#32
I work in embedded. Primarily, my work involves fixing hardware bugs in software. This is not surprising to anyone who works in embedded, but for those of my programmer friends who just see the hardware and have no clue just how much software is under the hood, it always seems to be a big shock to them that I have had to spend a few weeks fixing a hardware design that had one pin wired around the wrong way, instead of just getting the hardware fixed.

That said, one of the things I really like to see these days is new generations of extremely competent hardware designers who have absolutely no problems with the expenses of hardware iterations .. even though it means less work for me in the end, its good to see. I have lost count of the times I've had to write some god-awful driver code that just makes me want to puke my lungs out, just because the hardware guys were too lazy to breadboard something ..

Re: The software fixed the hardware

#33
post #10

Earlier quoted context omitted.

it always feels a bit wrong It helps to think of it as "don't care" code rather than "error compensation" code. Which way should the engine be wired? It's cool; the software doesn't care. Just wire it up however. What order should I start these services? It's cool; they don't care. Just start them up however. As soon as your users stop caring about the stuff you can take care of, they'll have time to care about somet…

It can get a bit mad sometimes though. The main issue is that if a hardware fault is found it is sometimes too late to rectify without a massive cost. My management was recently trying to convince me to rewrite a FAT file system in high level code due to issues with power management, corruption and the disk we store our most precious data on.

I work in the safety critical/life-saving realm of embedded systems, and it has definitely been an eye-opener to see just how many bugs are 'forgiven' just because there is a software layer on top to make things work as expected instead of as designed ..

Re: The software fixed the hardware

#34
post #9

Can they send one to Mars to fix the rover?

They can and have! I always thought this was very cool. However, the current Mars rover problem is not a hardware problem, per se, it's a stuck-in-the-mud problem.

I just love the hacking that space hardware designers are allowed to do ..

"oh, its already bagged up and installed on the rocket, we've got 2 years to fix it until its going to suffer 45 seconds of insane conditions, so just let it slide for now .."

Re: The software fixed the hardware

#35
post #31
post #25

Earlier quoted context omitted.

Does the Roomba have a USB port? jwz mentioned a 'serial' port...

It does not have a USB port. The serial port is also a non-standard (for serial ports) connector (it is a standard DIN connector). My guess is that the average Roomba owner doesn't have a PC with a serial port, and probably wouldn't want to acquire an uncommon connector and wire up a serial converter cable, and then run some program on their PC to dump the firmware image in to the Roomba. The osmo dongle makes the pr…

Incidentally, there is evidence that the OSMO dongle collects data, also ..

Re: The software fixed the hardware

#38

This type of thing happens all the time with embedded platforms. Software fixes for hardware defects are common. When we were building robots invariably the electronics team would always wire some motor backwards. Since the motors had similar power in both directions they would always ask me to just write the code to run motors they wired the wrong way backwards. It was simple enough to do, but it always feels a bit…

Don't worry, it works the other way as well.

At my last job, I had to fix software defects in hardware.

Re: The software fixed the hardware

#40
post #36
post #25

Earlier quoted context omitted.

Does the Roomba have a USB port? jwz mentioned a 'serial' port...

Part of my question is why it doesn't have a USB port.

Cost. USB is a very complex protocol that requires a controller. For most embedded systems a serial port, which is very very cheap and dead simple to implement, is sufficient.

There's really no need for a USB port on the Roomba, so it's silly to incur additional costs on every single unit to add it.

Post reply on HN