Posted in Bits and bytes

SSH service availability using Upstart

Platform: Ubuntu Server When we access a machine remotely over SSH, we sure do not want its daemon to crash and leave us without the means to access the system. So what we want is some means to make sure that the daemon is immediately restarted in the case of such an unfortunate event.

Continue Reading...
Posted in Bits and bytes

Using the MsTimer2 library on AT90USB646

In order to use the Arduino MsTimer2 library on AT90USB646 microcontroller you have to minimally modify the source code of the library. First, download the library, unpack it into the “libraries” directory of your Arduino installation (it’s a subdir of “hardware”) and open the file MsTimer2.cpp.

Continue Reading...
Posted in Bits and bytes

Using the port F as digital I/O in Teensy++

I wanted to use the port F in Teensy++ board as ordinary digital inputs/outputs and it turned out that there is an extra step involved to ordinary DDR stuff. I’m coding using the Teensy port of core Arduino libraries to AT90USB646 chip. After checking the chip datasheet, I found that the proper port initialization includes setting the DIDR0 register (setting desired pins of port F to digital instead of analogue). So the full initialization should look like

Continue Reading...
Posted in Bits and bytes

The homebrew AVR-based PLC – the introduction

Few years ago when I was searching the net for similar projects to gather some stuff for my potential graduate thesis, there was just a plain void. On techie forums ocasionaly some excited novice popped up with greeny questions about what would take to make a PLC, etc., just to get a bunch of “smart” answers about how stupid one has to be for trying to make something that someone somewhere can eagerly sell him. Not much useful, indeed. Sure, people wrote about projects and “PLCs” they’ve made, but almost all of them were just a kind of a relay…

Continue Reading...