Microsoft Windows 7
A web based interface to a USB connected PSoCXPIM1 board.
We aim to demonstrate the various technologies. We are not presenting this as a deployable system. The intent is to demonstrate the technologies in a simple example. You may use these technologies to meet your needs. There are many others.
Specific versions of the various components are specified. They were used in April 2013 and worked together. As these evolve there may be changes that require modification to these guidelines.
See the diagram of the various software components.
A PSoC Creator project is available at http://code.google.com/p/powerfulboard It is included in the zip file accessed from the “Download” menu. You can also select the “Software” item from the menu and then browse the source or clone the GIT repository. Find it in the firmware in the “pinout” directory.
Download the project and open it in PSoC Creator. We used PSoC Creator 2.2.
This is the TopDesign.cysch file:
Rather simple but this was the objective.
Connect your PSoCXPIM1 board to your PC. Use the USB connector closest to the FX2 chip.
Then “program” the PSoC chip through the FX2 part.
You can also “Debug” the code. You can set breakpoints. We insert “antrace(uint8)” statements at interesting points in the code. Then either when execution stops at breakpoint or by choosing “Halt Execution” we can examine the contents of “tracebuf”.
We use an open source USB driver. This has an associated library which we link with the native code on the PC.
It is available here http://libusb-win32.sourceforge.net
We used version 22.214.171.124.
“Libusb-win32 is a library that allows userspace application to access USB devices on Windows operation systems (Win2k, WinXP, Vista, Win7).”
Install the driver on your PC. Use “inf-wizard.exe” to associate the driver with the PSoCXPIM1 board. Make sure the cable is plugged into the USB connector nearest the PSoC chip. This is NOT the one you used to do the programming.
Download Node.js from http://nodejs.org/ and install.
First install Python. We used Python version 2.7.4
npm install -g -node-gyp
npm install ffi
For some reason we had to comment out “import multiprocessing”. We hope someone can explain why.
This is included in the code you downloaded from the Google Project in Step 1. It’s in the host/anpso3pins directory. Place it in a directory of your choice on your PC.
This native library includes the libusb-win32 library and higher level functions to find the PSoCXPIM1 board and then send and receive messages to the PSoC firmware loaded in Step (1). You can download it here.
Plug a USB cable into the USB connector nearest the PSoC chip.
Note: you can have usb cables plugged into both USB connectors at the same time. One is used for programming/debugging the other for the host application to communicate with the firmware.
In a Windows command window move to the directory with the application code.
Then execute the command
Open a web browser
You should see the following:
You can now set and get the status of the pins on the board.
You can also access the webserver from a remote PC.
We hope this worked for you. If you got stuck in the weeds then send us an email and we will try and get you back on the trail.