Posts

Up and down again

This is what success with a Multiplex Dogfighter looks like: The canopy is on, the wing is on, and the battery isn’t kissing the motor. Success! Pro tip: wear long pants when flying else the long grass will make you regret.

Stopping ‘PAM service(sshd) ignoring max retries’ errors in syslog

Seeing messages like sshd[28778]: PAM service(sshd) ignoring max retries; 6 > 3 in auth.log? It’s caused by pam_unix disagreeing with sshd on how many times a user can retry their password before getting disconnected.

Huffman coding on NMEA sentances

I’m impressed with how well Huffman encoding works on the very verbose, very repetitive, ASCII based NMEA GPS sentances. I hacked up a Python script that bakes a fixed dictionary from example data and a device side C++ encoder that encodes based on the dictionary.

Three days to posession

As an experiment, I hooked up a spare ARM machine to the internet and left it running Tor. It only took three days for a script kiddie to break in, as it turns out the pre-built rootfs I used has a poor default root password.

First flying of the year

I dusted my T-28 Trojan off and took it for a fly in the Allmend today. Hard to say no to such nice weather. I could even feel my fingers when I got back!

Unstable heading

The replacement wishbone arrived so the cars in good shape, but still no luck with the heading controller. I can get it to slowly oscillate along a straight line by using a low Kp and restricting the steering, but the step response is poor.

Heading controller progress

The heading controller is basically working. The big changes were reducing the maximum steering angle to reducing how much trouble the controller can get itself into, and putting the gain on the dial so I could tune it while driving.

Adding watchdogs to track down a halt

The car controller is dropping out now and again for no obvious reason. I thought it was due to the cold changing the internal RC oscillator frequency and making the serial communications unreliable, but I’ve switched to a 12 MHz crystal and it’s no better.

Fixing bad AVR fuses the hard(er) way

Lesson for the day: always put the big ICs in sockets. I fitted a crystal to the AVR on the interface board yesterday and managed to brick the chip by setting the fuse values to use an oscillator that didn’t exist.

Heading controller tests

The heading controller didn’t work out as well. I had one bug when converting from 0..360 degrees to -Pi..Pi radians, but most of the problems were due to reliability and a lack of speed.