Hardware, Software & Product Development | Sparx EngineeringHardware, Software & Product Development | Sparx EngineeringHardware, Software & Product Development | Sparx EngineeringHardware, Software & Product Development | Sparx Engineering
  • Home
  • Expertise
    • Software Engineering
    • Electrical Engineering
    • Chemical Products and Services
    • Biomedical Engineering
    • Mechanical Engineering
    • Production Management
    • Automation
    • Industrial Design
  • Blog
  • Careers
  • About Us

Blog

Reading line-by-line from a serial port (or other byte-oriented stream)

By Ben Voigt | Software | 10 comments | 16 March, 2017 | 7

With many .NET developers moving from the traditional (and broken) System.IO.Ports.SerialPort DataReceived event handling to either the correct and more efficient BaseStream.BeginRead / BaseStream.EndRead pair I promoted in my last post or the newer BaseStream.ReadAsync method introduced in .NET Framework 4.5 along with the C# async and await keywords, a common complaint is that BaseStreamRead more

Routing in Nancy from F#

By dfohl | Software | 0 comment | 4 March, 2015 | 0

Nancy is my web framework of choice for .NET. It is free, lightweight, easy to use, and comes without all the bloat of the more common .NET frameworks. Nancy makes routing in C# simple. If you need to handle a form post, you simply set up the POST endpoint, and access the form variables viaRead more

If you *must* use .NET System.IO.Ports.SerialPort

By Ben Voigt | Software | 173 comments | 7 May, 2014 | 30

As an embedded developer who writes desktop software mostly for configuration of, and data download from, peripheral devices, I use serial data streams a lot.  Mostly USB virtual serial posts from FTDI, but also the USB Communication Device Class and real 16550-compatible UARTs on the PCI bus.  Since looking at data through an in-circuit emulatorRead more

Higher-kinded fun in Haskell

By dfohl | Software | 0 comment | 16 July, 2013 | 0

In my previous post, I showed an example of where the lack of higher-kinded types in .NET (both C# and F#) induces the need for code repetition.  In this post I’ll show you how higher-kinded type support in Haskell allows for the elimination of this repetition. LINQ First, let’s take our LINQ query and translateRead more

Detecting arithmetic overflow in C#

By rajaz | Software | 0 comment | 19 June, 2013 | 0

Recently I was interfacing with an accelerometer sensor, and the sensor was streaming raw acceleration values. The C# program processing the data seemed to work as I was getting reasonable output (the output was aggregate of few hundred samples). However while debugging an unrelated problem, I happened to realize that for some streaming values IRead more

An example of what higher-kinded types could make possible in C#

By dfohl | Software | 3 comments | 10 June, 2013 | 1

If you’re like me, you spend a lot of time in Visual Studio cranking away at C# code.  You follow the updates to the language with each release, learn the new things that are possible and how it can make your life easier.  But you also investigate other languages in your free time and seeRead more

12

Recent Tweets

  • #Houston ranks among fastest growing #tech hubs amid the pandemic, report finds https://t.co/nYhydlOPP0

    2 years ago
  • RT  @SpaceX : Docking confirmed – Crew Dragon has arrived at the  @space_station ! https://t.co/KiKBpZ8R2H

    3 years ago
  • RT  @SpaceflightNow : SCRUB. SpaceX’s launch director has announced there will no launch today due to bad weather at the Kennedy Space Center…

    3 years ago
  • Home
  • Expertise
  • Blog
  • Careers
  • About Us
Sparx Technologies, LLC. dba Sparx Engineering © 2009 - 2022 | All Rights Reserved
  • Home
  • Expertise
    • Software Engineering
    • Electrical Engineering
    • Chemical Products and Services
    • Biomedical Engineering
    • Mechanical Engineering
    • Production Management
    • Automation
    • Industrial Design
  • Blog
  • Careers
  • About Us
Hardware, Software & Product Development | Sparx Engineering