Wilderness Labs Meadow F7v2 Feather is an STM32F7 Arm Cortex-M7 development board following the Adafruit Feather form factor and programmable with C# through a lightweight implementation of the .NET framework. We had previously seen the .NET Framework running on Android and Linux thanks to Xamarin’s Mono, but I don’t think I had ever a microcontroller-class board supporting the .NET framework and C# programming. But that’s exactly what the Meadow F7v2 Feather does. Meadow F7v2 Feather specifications: MCU – STMicro STM32F7 Arm Cortex-M7 microcontroller @ 216 MHz with 2D graphics and JPEG accelerators Memory – 32MB RAM Storage – 64MB flash Connectivity – 2.4 GHz WiFi and BLE (ESP32) with onboard and external u.FL antennas USB – 1x Micro USB port for power and programming Expansion with through and castellated holes with up to 25x GPIO, 12x PWM, 6x analog inputs, 2x DAC, I2C, I2S input/output, SPI, UART, CAN Bus Misc […]
Quokka IoT FPGA Board is Programmable with C# Language (Crowdfunding)
Quokka FPGA IoT Controller is a board based on Altera Cyclone IV FPGA with a WiPy module for connectivity, and various I/Os that allows you to make robotics projects for example. While you could program the FPGA using VHDL, the developer – Evgeny Muryshkin – also designed Quokka Development Toolkit (QDT), a cloud-based SaaS, allowing to program FPGA with a high-level programming language, currently C#, so that software people can more easily become involved in FPGA development. Quokka IoT (preliminary) hardware specifications: FPGA – Intel Altera Cyclone IV, 6K logic elements, EP4CE6E22C8 Clock – 50MHz Connectivity – WiFi via WiPy module Expansion 40x GPIO (3 banks by 8 pins, with direction and voltage (3.3V or 5V) configuration, 16 raw IO pins 3.3V) 2x Dual Channel 10 bit ADC (3.3V) 2x Dual Channel 10 bit DAC (3.3V) H-Bridge for DC motors with support for external power Power Supply – 5-24V DC input […]
Using GPIOs on NanoPi NEO 2 Board with BakeBit Starter Kit
NanoPi NEO 2 is a tiny 64-bit ARM development board powered by Allwinner H5 processor. FriendlyELEC sent me a couple of NEO 2 samples together with their BakeBit Start Kit with a NanoHat and various modules via GPIOs, analog input or I2C. I’ve already tested both Armbian with Linux 4.11 and Ubuntu Core Qt with Linux 3.10, and ran a few benchmarks on NanoPi NEO 2. You would normally prefer to use the Armbian image with Linux mainline since it provided better performance, but at the time I was told GPIO support was not there. Configuring NanoPi NEO 2 board with BakeBit library So this week-end, when I decided to test GPIO support and BakeBit Starter Kit, I decided to follow this advice, especially nanopi-neo2-ubuntu-core-qte-sd4g-20170329.img.zip image is still the recommended one in the Wiki. So I went with that image. I’ll use Python examples from Bakebit library, but if you […]
Xamarin Ported Android to C#. Results: Massive Performance Improvements over Dalvik
Xamarin has been providing Mono, a C# framework that can work on Linux for some years, and more recently they have also launched Mono for Android and iOS so that you can write or re-use existing C# application on the most common samrtphone platforms. But their latest project “XobotOS Research Project” goes much further, as they have entirely re-written Android Dalvik engine based on Java with C#. Considering the million of lines of code in Android, they have found a tool to automatize the Java to C# conversion. This tool is an Eclipse plugin called is Sharpen, and Xamarin has made further improvements to Sharpen which are available on Github. They already have ported Android 2.x and Android 4.0 to C#. If you wonder why they would do that, look at the “benchmarks” below showing Mono vs. Dalvik implementation of Android for binary tree, jovian and hashtags. Since the company […]
200 C# Programming Video Tutorials
Last month, 200 Android Development Video Tutorials by TheNewBoston had been uploaded to ChangingTheUnknown Youtube channel. They have now prepared another playlist with 200 C# programming video tutorials for beginners in C#. To give you an idea of what you would learn, here are the titles of the first 10 tutorials: Introduction and Installing C# 2010 Changing Forms Properties Showing MessageBoxes Variables Changing Properties With Code If Statements More on If Statements If Statements pt 3 Switch Statements Mathematical Operators You can watch the first tutorial: “C# Beginners Tutorial – 1 – Introduction and Installing C# 2010” below. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com
New Revision of C++ Programming Language: C++11
The Final International Draft standard (FCD) was unanimously approved on August 12th, 2011. The standard should be published this year. The draft name of the standard is C++0x, but since it will be published this year, it should probably renamed C++11, and if there are delays in its publication it could well be renamed to C++12. You can download the 1334 pages “Working Draft, Standard for Programming Language C++” to get the full details. If you don’t feel like going thru that massive document, but still want to learn about C++0x, I recommend you check the C++0x FAQ on Bjarne Stroustrup (The creator of C++) homepage. Here are some the new features and improvements: initializer-lists – Initializer lists are not just for arrays any more uniform initialization syntax and semantics template aliases (previously know as template typedef) rvalue references defaulted and deleted functions variadic templates auto – deduction of a type from […]
C Code to get MAC Address and IP Address
Function in C to return the MAC Address:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
/* Returns the MAC Address Params: int iNetType - 0: ethernet, 1: Wifi char chMAC[6] - MAC Address in binary format Returns: 0: success -1: Failure */ int getMACAddress(int iNetType, char chMAC[6]) { struct ifreq ifr; int sock; char *ifname=NULL; if (!iNetType) { ifname="eth0"; /* Ethernet */ } else { ifname="wlan0"; /* Wifi */ } sock=socket(AF_INET,SOCK_DGRAM,0); strcpy( ifr.ifr_name, ifname ); ifr.ifr_addr.sa_family = AF_INET; if (ioctl( sock, SIOCGIFHWADDR, &ifr ) < 0) { return -1; } memcpy(chMAC, ifr.ifr_hwaddr.sa_data, 6) close(sock); return 0; } |
Function in C to return the IP Address:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
/* Returns the interface IP Address Params: int iNetType - 0: ethernet, 1: Wifi char *chIP - IP Address string Return: 0: success / -1: Failure */ int getIpAddress(int iNetType, char chIP[16]) { struct ifreq ifr; int sock = 0; sock = socket(AF_INET, SOCK_DGRAM, 0); if(iNetType == 0) { strcpy(ifr.ifr_name, "eth0"); } else { strcpy(ifr.ifr_name, "wlan0"); } if (ioctl(sock, SIOCGIFADDR, &ifr) < 0) { strcpy(chIP, "0.0.0.0"); return -1; } sprintf(chIP, "%s", inet_ntoa(((struct sockaddr_in *) &(ifr.ifr_addr))->sin_addr)); close(sock); return 0; } |
Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com
Running .NET applications on Linux Embedded Systems
You may have some applications developed using Microsoft .NET application framework that are running on Windows XP, Windows Vista and Windows 7. .NET for Linux If after spending much effort and time, you have a request to port your application to Linux, you don’t need to rewrite everything thanks to Mono, an open source implementation of .NET framework that can be run in Windows, Linux and MacOS. The development framework is composed of three parts: Mono – An open source, cross-platform, implementation of C# and the CLR that is binary compatible with Microsoft.NET MonoDevelop – An open Source C# and .NET development environment for Linux, Windows, and Mac OS X Mono Tools for Visual Studio – Development Tools to develop and migrate .NET applications to Mono on Linux without leaving Visual Studio. This application can be tried for 30 days and / or purchased. This tools is compatible with Visual […]