Posts tagged ‘Linux’

A Quick Look at the M5Stack ESP32 Development Kit

I recently received an M5Stack ESP32 development kit from Banggood. Although I have not used any ESP32 based development boards before, I have heard many good things about the ESP32 platform, especially for its rich feature set and versatile connectivity. After all, it was designed to have IoT applications in mind. So I was pretty excited to take it for a spin. Continue reading ‘A Quick Look at the M5Stack ESP32 Development Kit’ »

MCP2210 Library Reference

I have created a dedicated page for the MCP2210 library documentations. An link to the reference can also be found on the side navigation pane. The Doxygen generated project documentation can be viewed directly here. Continue reading ‘MCP2210 Library Reference’ »

MCP2210 Library — MCP3204 SPI ADC

During the past few weeks, I have shown many examples (see 1, 2, 3, 4) of using the open source MCP2210 Library with SPI devices under Linux. In this post, I will conclude this series with one more example: interfacing MCP3204 with MCP2210. With this example, I will have covered all the devices included on the evaluation board, which represents most of the scenarios you will run into. Other SPI devices can be controlled similarly using the methods illustrated in this series. Continue reading ‘MCP2210 Library — MCP3204 SPI ADC’ »

MCP2210 Library — SPI EEPROM

So far, I have shown examples of using the open source MCP2210 library with MCP2210 GPIO, MCP23S08 and TC77 temperature sensor. In this post, I will show an example of interfacing the chip with an SPI EEPROM using the library. Continue reading ‘MCP2210 Library — SPI EEPROM’ »

MCP2210 Library — SPI Example Using TC77

A couple of weeks ago, I showed an example of using the open source MCP2210 Library I created earlier to communicate with the MCP23S08 port expander under Linux. In this post, I will provide another example of using the library with the TC77 temperature sensor included on the MCP2210 evaluation board. Continue reading ‘MCP2210 Library — SPI Example Using TC77’ »

MCP2210 Library — SPI Example Using MCP23S08

I made a few minor tweaks to the open source MCP2210 library during the past few days, and had also updated the documentation. In my previous post, I illustrated how to manipulate the GPIO pins using this library and today I will show you an example of communicating with a MCP23S08 8 bit IO port expander using SPI. Continue reading ‘MCP2210 Library — SPI Example Using MCP23S08’ »

MCP2210 Library

After a couple of weeks’ coding and testing, I finally finished the initial version of the MCP2210 C++ library for Linux. This library utilizes functions from Signal 11‘s HID API (hidraw) to communicate over the USB HID interface. Continue reading ‘MCP2210 Library’ »

Troubleshooting USB Circuit

I have built some circuits that interface with computer USB ports. On several occasions, I had built the circuits but for whatever reason they did not seem to work. Since most USB firmware is rather complex in nature, it is usually useful to first identify whether the issue at hand is related to hardware or software. Continue reading ‘Troubleshooting USB Circuit’ »

Brother MFC-7340 Setup Under Linux

I just bought a Brother MFC-7340 multifunction laser printer to replace my old Lexmark Optra E310 which I have had for about ten years. Lexmark Optra E310 has excellent Linux support and I have been using CUPS to make it a networked printer. So naturally, I wanted to setup the new printer the same way. Continue reading ‘Brother MFC-7340 Setup Under Linux’ »

Apache2 Logrotate

Whenever I setup a new web server, I always like the idea of keeping the Apache logs roated on a daily basis. While the procedures for changing the log rotate frequency is pretty straight forward, I have seen a lot of people having problems with it so I decided to document it. Continue reading ‘Apache2 Logrotate’ »

C++ Recursive Directory Search Under Linux

I was trying to search for some code examples on how to do a recursive directory search under Linux using C++ the other day. But to my surprise, I could not find any place that offers a complete example. So I decided to post my code here after I created my own and hopefully you will find it helpful. Continue reading ‘C++ Recursive Directory Search Under Linux’ »

Timing Methods in C++ Under Linux

Measuring the execution time for code sections can be done in multiple ways in C++. Except for the time resolution issue, different timing methods worked relatively the same in single processor environment. As multi-core processors become more prevalent however, we need to be careful at choosing the correct timing mechanism as not all such routines measure the wall time elapsed. Continue reading ‘Timing Methods in C++ Under Linux’ »

On Default Linux IO Priority

If there is any thing I think Linux distributions can definitely improve upon is to reduce the default IO task priorities while running a Windows manager (e.g. GNOME or KDE). Continue reading ‘On Default Linux IO Priority’ »

An Image Class Based On IPP

A couple of weeks ago, I wrote about how to interface Integrated Performance Primitives (IPP) with Magick++. While IPP offers excellent performance advantages, it does not come with the easiest programming model. Fortunately, it is easy enough to create a C++ wrapper on top of IPP and provide an easier to use programming interface. Continue reading ‘An Image Class Based On IPP’ »

The Obstacles to Linux Going Mainstream

It was almost one year ago when I switched my main home computer to Linux. Since then, I have been using my Ubuntu 8.04 installation daily and have not found the need to boot up Windows at all. Continue reading ‘The Obstacles to Linux Going Mainstream’ »