December 2016 Updates

August 2015 Updates

  • New PCIe Hardware Design Guide sub-page of the PCIe page.
    A PCIe card-edge connector schematic symbol and associated components.
    A PCIe card-edge connector schematic symbol and associated components.
  • Moved the IGBT and MOSFET pages so they are child pages of the Transistors. page.
  • Added new Bipolar Junction Transistors (BJTs) page as a child page of Transistors.
  • New Smart Pointers page added under Programming->Languages->C++.
  • New design guide for the Xilinx 7 Series FPGAs.

July 2014 Updates

Probably one of the biggest months of updates ever!

January 2014 Updates

First off, Happy New Year!

It’s been a busy month around here! Most updates have been to the C++ and C language sections, as well as the new Linux->Programs section. Here are all the updates this month…

How To Use C++ With PSoC Creator

Ever wanted to write C++ for the PSoC 5 or 5LP chips in PSoC Creator?

Well, although PSoC Creator doesn’t natively support it, you can quite easily do a few ‘hacks’, and you’ll be writing in C++ in no time.

A new page “Using C++ With PSoC Creator“, under Programming->PSoC, explains the steps required to compile C++ code in Cypress’s PSoC Creator.

It covers the four main steps:

1) Compiling with G++ rather than GCC using custom compiler flags

psoc-creator-build-settings-command-line-custom-flags Adding custom command line flags in PSoC Creator to force GCC to use the C++ compiler.

2) Wrapping C code with guards

extern C{< C code goes here>}

3) Defining the operators new and delete (this is optional)

void* operator new(size_t size)

4) Prevent Exception Functionality

Preventing exception functionality to prevent linker errors such as “undefined reference to __gxx_personality_v0” and “undefined reference to __cxa_end_cleanup” (again, this is optional, and only applied if you want to use new and delete)

cplusplus-linker-error-undefined-reference-to-gxx-personality Add the custom compile flag "-fno-exceptions" to every .cpp file you want to compile in PSoC Creator to prevent the "undefined reference to __gxx_personality_v0" linker error.

The steps have pictures and code examples to help you through the process.

Checkout the page here.

Playing Around With The Kinect

I got excited about 3D modelling and brought a Microsoft Kinect a few weeks ago. I choose to get the ‘PC’ version, even though it was $100+ more than the Xbox version, purely because it was touted that Microsoft engineers had worked had at making it better for hacking, and it had more features such as ‘Close Up’ mode (I’m beginning to regret this decision, see below).

Anyway, I installed the Microsoft SDK/drivers and within minutes I had a development platform in action for the Kinect. I wrote a small program in Visual C# Express using the provided API, and following this tutorial, got a cool depth image of my room (‘cool’ being relative, this was the first day I had started playing with it).

However, Microsoft puts a restriction on it’s SDK, saying that the software must run on a PC running Windows. One thought in the back of my head was to one day make it run on an embedded linux system, so I had a crack at getting the 3rd party open-source drivers working. This involved many hours of messing around installing multiple programs in different orders, then trying different versions, and then trying to compile the drivers with a make command. It reminded me of the driver issues you used to get with Windows 95, and after about 5 hours I gave up.

I’m thinking that problems were arising because I was using the PC version rather than the Xbox version, which didn’t have as much support. And it turns out I don’t really need the extra features in the PC version for the 3D modelling applications I had in mind. Hmph…

C# Programming Page Added

Well, it doesn’t have much on it yet but a overview of a few graphing utilities that you can use within the .NET framework, but I plan on expanding this!

The page can be found below (or click on the image)…

>> C# Programming

ATmega Code Examples Added, C Programming Section Added

Added ATmega code examples to the programming section as I use them while working on the electric skateboard. Also added a programming section specifically for c code.