Marcus Folkesson

Embedded Linux Artist

HID report descriptors and Linux

HID report descriptors and Linux HID Devices USB HID (Human Interface Device) device class is the type of computer peripherals that human interacts with, such as keyboards, mice, game controllers and touchscreens. The protocol is probably one of the most simple protocols in the USB specification. Even if HID was originally written for USB in mind, it works with several other transport layers. Your mouse and keyboard do probably use HID over USB, the touchscreen in your smartphone could use HID over I2C. Even Bluetooth/BLE make use of the same protocol for this type of devices. cover

Industrial I/O and triggers

Industrial I/O and triggers I've maintained a couple of IIO-drivers (MCP3911 [4] and LTC1660 [5]) for some time now and it's time to give at least the MCP3911 a face-lift. This time the face lift includes support for: Buffers Triggers Make the driver interrupt driven Add support for setting Oversampling Ratio Add support for setting PGA (Pre Gain Amplifier) Also clean it up a bit by only using device managed resources. What is Industrial I/O? Industrial I/O, or IIO [1], is a subsystem that exposes sensors and actuators in a common way to userspace. The subsystem supports a range of different sensors including ADCs, IMUs, pressure sensors, light sensors, accelerometers and more. Even actuators such as DACs and amplifiers has its place in the IIO subsystem. cover

Mounting with systemd and udev

Mounting with systemd and udev Systemd hasn't always been my first choice as init system for embedded system, but I cannot ignore that it has many good and handy things that other init systems don't. At the same time, that is just what I don't like with systemd, it does not follow the "Do one thing and do it well"-philosophy that I like so much. I'm very thorn about it. cover

GPLv2 and GPLv3

Open Source "Free as in freedom - not as in free beer". Free beer is nice, but freedom is even nicer. I have been working with companies from different sections including consumer electronics, military applications, automotive and aeronautics. One common question, regardless of section, is "Can we really use Open Source in our product?". The answer is usually Yes, you can, but.... One common misunderstanding is to interpret Open Source as in free beer. This is kind of true for some Open Source, but that is nothing you can take for granted. The "rules for how the code may be used is specified by its license. cover

Forge a hoof scratch

Forge a hoof scratch In this project I made a hoof scratch as a gift to a friend - made out of a horse shoe of course. I do have a few different forges depending on what to forge. The induction forge is great for thick and straight materials such like hammer heads and tongs. One of the greatest benefit is that there is only 30s startup time as it requires no preparations at all. cover

This website setup

This website setup This post is more for my own good if I have to setup my website once again. Maybe someone find it useful. Tools Hugo I use Hugo [1] to generate my website. Hugo is a fantastic tool for generate static web pages in an flexible way. All pages is written in reStructured Text [2] which is the markup syntax I strongly prefer. Docker The web server [4] and traefik [5] server is running in docker [3] containers. Then you can easily create, restart the services in a predefined environment. cover

Leather sewing machine

Leather sewing machine I have worked with leather for some time which I enjoyed a lot. Leather is so general purpose and is both robust and nice looking. So far I've made myself a wizard hat, dice bags, mug pads, bookmarks.. The majority of all leather projects involves a sewing, which is quite entertaining but really time consuming so I invested in a $60 leader sewing machine which make the whole process a lot smoother. cover

Leather penguin

Leather penguin A Linux guy needs his penguin, right? I found this pattern [1] on etsy and thought it would be a fun project to make a little companion. The leather I'm using for this is a 2-3oz veg-tanned goat skin. It is a little too thin to make a robust penguin, but I rather want it soft and squeeze-friendly than robust. That's how I prefer to have my companions. The steps Print out the pattern and tape to the leather. Punch the holes before cutting: cover

Player's handbook, Dungeon Master's Guide and Monster Manual

Player's handbook, Dungeon Master's Guide and Monster Manual These three books are the "core books" for Dungeons and Dragons 5e. This is not an in depth review of these books as they are so fundamental. But I think it is good to mention them at least, before I go any further with the more cool-but-not-so-neccessary-books. Player's Handbook The Players Handbook [1] (PHB) contains all the basic rules that the player needs to know to play the game, equipment, spells, character options, feats, races, backgrounds and everything to put it all together.

D&D - My confession

Dungeons and dragons - My confession I have always been fascinated about fantasy. The computer games I appreciated most during my young days was role-playing game such as Baldur's Gate, Diablo and Neverwinter Nights, all games with their own mysterious setting there evil lurks at every corner. For half a year ago, a friend of mine introduced me to Dungeons and Dragons 5e and I was hooked. Maybe a little too much. As usual. cover