psi46/pxar — pull request #42 by hperrey (2014-01-29 13:55:08+00:00)
Title: Patches to allow compilation of core lib and debug executable on WIN32

As Windows support has been requested several times in the past meetings, Simon and I made small modifications to the CMake files and some code segments to allow the compilation and execution of the core pXar library and the debug executable.

- This has been successfully tested on Windows 7, 32bit, Visual Studio Express v12 (MSVC 18.0.21005), CMake 2.8.12, FTD2XX 2.08.30 and fixes issue psi46/pxar#25
- Using the debug executable, I can flash a new firmware to a DTB:
```
C:\Users\hanno\Documents\GitHub\pxar\bin [core_w32]> .\testpxar.exe
1 arguments provided.
Single ROC setup.
[13:04:42.000] QUIET: Instanciating API for pxar PXAR_VERSION
[13:04:42.000] INFO: Log level: DEBUG
[13:04:42.109] QUIET: Connection to board DTB_WS6C22 opened.
[13:04:42.125] INFO: DTB startup information
--- DTB info------------------------------------------
Board id: 74
HW version: DTB1.2
FW version: 1.1
SW version: 1.7
USB id: DTB_WS6C22
MAC address: 40D85511804A
Hostname: pixelDTB074
Comment:
------------------------------------------------------
[13:04:42.125] CRITICAL: Your DTB flash file is outdated, it does not proved a RPC hash value for compatibility checks.
[13:04:42.125] CRITICAL: RPC Call hashes of DTB and Host do not match!
[13:04:42.140] CRITICAL: Please update your DTB with the correct flash file!
Something is fishy. We probably need to flash the DTB...
Would you be so kind and provide the path to the flash file?
dtb_v1.17.flash
[13:14:33.447] ERROR: Testboard not initialized yet!
[13:14:33.462] ERROR: DUT structure not initialized/programmed yet!
[13:14:33.462] INFO: Trying to open dtb_v1.17.flash
[13:14:33.478] INFO: Staring DTB firmware upgrade...
[13:14:33.649] INFO: Download running...
[13:15:33.992] INFO: DTB download complete.
[13:15:33.195] INFO: FLASH write start (LED 1..4 on)
[13:15:33.195] INFO: DO NOT INTERUPT DTB POWER !
[13:15:33.195] INFO: Wait till LEDs goes off.
[13:15:33.195] INFO: Power-cycle the DTB.
[13:15:47.157] QUIET: Connection to board 74 closed.
```
- A short documentation for the setup process for Windows has been added to the README.
- It still works fine under Ubuntu 12.10 with gcc.
- However, there are several warnings issued by MSVC and should be investigated:
```
..\..\core\rpc\nios_fallback.cpp(56): warning C4244: 'argument' : conversion from 'short' to 'uint8_t', possible loss of data [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\rpc\nios_fallback.cpp(168): warning C4244: 'return' : conversion from 'int16_t' to 'int8_t', possible loss of data [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\rpc\nios_fallback.cpp(179): warning C4244: 'argument' : conversion from 'int16_t' to 'uint8_t', possible loss of data [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\rpc\nios_fallback.cpp(180): warning C4244: 'argument' : conversion from 'int16_t' to 'uint8_t', possible loss of data [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\rpc\nios_fallback.cpp(186): warning C4244: 'argument' : conversion from 'int16_t' to 'uint8_t', possible loss of data [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\rpc\nios_fallback.cpp(193): warning C4244: 'argument' : conversion from 'int16_t' to 'uint8_t', possible loss of data [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\rpc\nios_fallback.cpp(205): warning C4244: 'argument' : conversion from 'int16_t' to 'uint8_t', possible loss of data [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\rpc\nios_fallback.cpp(206): warning C4244: 'argument' : conversion from 'int16_t' to 'uint8_t', possible loss of data [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\rpc\nios_fallback.cpp(211): warning C4244: 'argument' : conversion from 'int16_t' to 'uint8_t', possible loss of data [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\rpc\nios_fallback.cpp(214): warning C4244: 'argument' : conversion from 'int16_t' to 'uint8_t', possible loss of data [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\rpc\nios_fallback.cpp(222): warning C4244: 'argument' : conversion from 'int16_t' to 'uint8_t', possible loss of data [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\rpc\nios_fallback.cpp(424): warning C4800: 'int32_t' : forcing value to bool 'true' or 'false' (performance warning) [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\hal\hal.cc(566): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\hal\hal.cc(656): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]
..\..\core\hal\hal.cc(757): warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning) [C:\Users\hanno\Documents\GitHub\pxar\build\core\pxar.vcxproj]

"C:\Users\hanno\Documents\GitHub\pxar\build\INSTALL.vcxproj" (Standardziel) (1) ->
"C:\Users\hanno\Documents\GitHub\pxar\build\ALL_BUILD.vcxproj" (Standardziel) (2) ->
"C:\Users\hanno\Documents\GitHub\pxar\build\debug\testpxar.vcxproj" (Standardziel) (5) ->
..\..\debug\pxar.cpp(60): warning C4018: '<' : signed/unsigned mismatch [C:\Users\hanno\Documents\GitHub\pxar\build\debug\testpxar.vcxproj]

16 Warnung(en)
0 Fehler
```