CPU, Interrupted — Timers

Yesterday I mentioned that interrupts on an embedded microcontroller can cause you trouble. That’s not strictly true – it’s not the interrupt that causes trouble it’s the way you handle them. An awful lot of programmers don’t handle them correctly and they end up in a sticky mess. Before I can talk about interrupts though,… Read More »

Replacing an IDE With Makefiles

Developers have been led down a path by graphical tools. The tools in question are the so-called IDEs (integrated development environments). They are a nice idea in theory: combine your editor, compiler and debugger into one graphical program so that the developer can edit away, pressing “build” when they feel like it and single step… Read More »

AVR UART Transmit and stdio

The setup for a UART on AVR is such common code that I wonder if possibly it’s just assumed to be understood and explained. This is a quick article to fill in the gaps. First let’s talk initialisation. This is often the most important part of using any hardware peripheral on an embedded processor. In… Read More »

Asterisk For a Small Business (V)

Last time we had reached a milestone. Internal calls working, outbound calls working, and incoming calls working. What next then? It would be nice if people calling our business or residential line got an answering machine when we weren’t in wouldn’t it? There are two dialplan functions needed for voicemail: Voicemail() which connects a caller… Read More »

Asterisk For a Small Business (IV)

When last we spoke, we had created an internal phone system. We had four extensions that could all happily call each other. This time we’re going to extend that facility to include the ability to dial arbitrary numbers using our outgoing trunks. Recall how we arranged our contexts in the dialplan? [stdexten] ; … standard… Read More »

Asterisk For a Small Business (III)

Last time we left ourselves in the position of having two outgoing trunks available and four locally connected phone extensions. Let’s remind ourselves of these endpoints. $ asterisk -r hostname*cli> sip show peers Name/username Host Dyn Forcerport ACL Port Status andyp/andyp 192.168.1.82 D OK (100 ms) wife/wife (Unspecified) D 0 UNKNOWN handytone1/handytone1 192.168.1.10 D 5060… Read More »

Asterisk For a Small Business (II)

Last time we discussed registering multiple trunk lines from a provider using our Asterisk server. As yet, we have no way of making calls, nor any device to receive incoming calls on. Our two trunks are, at the moment, pretty useless. This time then we’ll talk about how to configure some local endpoints. These are… Read More »

Asterisk For a Small Business (I)

FussyLogic is a small business. I run it from a home office. Most of my incoming phone calls are to my mobile; but I want to have a landline presence for the business too. It’s not cost effective to pay for an additional land line from BT just for those rare landline calls. I choose… Read More »

Android Spring Clean

For some insane reason, Google seem to think that the market app should get constantly larger and larger with every update. In essence, it’s a customised web browser — it’s making requests to a server and displaying the appropriate page. Why on earth it’s twice the size of an actual browser, I do not know.… Read More »

Higgs Boson

The Higgs Boson, eh? Buggered if I know what’s going on. My grasp of physics is, while not post-graduate level, better than the average citizen. When it comes to quantum, my brain just hurts. I don’t feel any shame at that. Richard Feynman told us why: I think I can safely say that nobody understands… Read More »