Skip to content

Commit

Permalink
support Windows
Browse files Browse the repository at this point in the history
  • Loading branch information
pizthewiz committed Jul 11, 2015
1 parent bb05e45 commit 0f36d18
Show file tree
Hide file tree
Showing 12 changed files with 470 additions and 16 deletions.
13 changes: 6 additions & 7 deletions TODO.md
@@ -1,11 +1,10 @@

## NOW
[ ] Fully comment header
[ ] Sort out README
[ ] Test on Windows in a VM
[ ] Handle unplug
- Sort out README
- Fully comment header
- Handle unplug

## LATER
[ ] SLIP encode/decode
[ ] COBS encode/decode
[ ] wrap exceptions?
- SLIP encode/decode
- COBS encode/decode
- wrap exceptions?
6 changes: 5 additions & 1 deletion cinderblock.xml
Expand Up @@ -13,6 +13,11 @@
<supports os="macosx" />
<supports os="msw" />

<includePath>include</includePath>
<includePath system="true">lib/serial/include</includePath>
<includePath>lib/serial/include/serial</includePath>
<includePath>lib/serial/include</includePath>

<header>include/Cinder-Serial.h</header>
<header>include/SerialDevice.h</header>
<source>src/SerialDevice.cpp</source>
Expand All @@ -22,7 +27,6 @@
<sourcePattern>lib/serial/src/impl/list_ports/*.cc</sourcePattern>
<sourcePattern>lib/serial/src/impl/*.cc</sourcePattern>
<sourcePattern>lib/serial/src/*.cc</sourcePattern>
<includePath system="true">lib/serial/include/</includePath>

<copyExclude>samples</copyExclude>
</block>
Expand Down
3 changes: 3 additions & 0 deletions include/SerialDevice.h
Expand Up @@ -9,6 +9,9 @@
#pragma once

#include "cinder/Cinder.h"
#if defined(CINDER_MSW)
#pragma comment(lib, "setupapi.lib")
#endif

#include <string>
#include <vector>
Expand Down
Binary file added samples/ColorPicker/resources/cinder_app_icon.ico
Binary file not shown.
12 changes: 11 additions & 1 deletion samples/ColorPicker/src/ColorPickerApp.cpp
Expand Up @@ -6,11 +6,17 @@
// Copyright 2015 Chorded Constructions. All rights reserved.
//

// curses to MSW
#if defined(WIN32)
#define _USE_MATH_DEFINES
#endif

#include "cinder/app/App.h"
#include "cinder/app/RendererGl.h"
#include "cinder/gl/gl.h"
#include "cinder/Timeline.h"
#include "cinder/Log.h"
#include "cinder/CinderMath.h"

#include "Cinder-Serial.h"

Expand All @@ -24,7 +30,7 @@ using namespace Cinder::Serial;
// http://sean.voisen.org/blog/2011/10/breathing-led-with-arduino/
// http://wolfr.am/5NzJsMbR
inline float easeInOutBrething(float t) {
return (expf(sinf(t * M_PI)) - 1/M_E) * 1/(M_E-(1/M_E));
return (expf(sinf(t * M_PI)) - 1.0f / M_E) * 1.0f / (M_E - 1.0f / M_E);
}

class ColorPickerApp : public App {
Expand Down Expand Up @@ -57,7 +63,11 @@ void ColorPickerApp::setup() {

// grab a port and create a device
if (!ports.empty()) {
#if defined(CINDER_MAC)
SerialPortRef port = SerialPort::findPortByNameMatching(std::regex("\\/dev\\/cu\\.usbmodem.*"));
#elif defined(CINDER_MSW)
SerialPortRef port = SerialPort::findPortByNameMatching(std::regex("COM3"));
#endif
if (!port) {
port = ports.back();
}
Expand Down
32 changes: 32 additions & 0 deletions samples/ColorPicker/vc2013/ColorPicker.sln
@@ -0,0 +1,32 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ColorPicker", "ColorPicker.vcxproj", "{992E09E9-CAD0-4CDA-944A-AC837A071EEB}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
Debug_ANGLE|Win32 = Debug_ANGLE|Win32
Release_ANGLE|Win32 = Release_ANGLE|Win32
Debug|x64 = Debug|x64
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{992E09E9-CAD0-4CDA-944A-AC837A071EEB}.Debug|Win32.ActiveCfg = Debug|Win32
{992E09E9-CAD0-4CDA-944A-AC837A071EEB}.Debug|Win32.Build.0 = Debug|Win32
{992E09E9-CAD0-4CDA-944A-AC837A071EEB}.Release|Win32.ActiveCfg = Release|Win32
{992E09E9-CAD0-4CDA-944A-AC837A071EEB}.Release|Win32.Build.0 = Release|Win32
{992E09E9-CAD0-4CDA-944A-AC837A071EEB}.Debug_ANGLE|Win32.ActiveCfg = Debug_ANGLE|Win32
{992E09E9-CAD0-4CDA-944A-AC837A071EEB}.Debug_ANGLE|Win32.Build.0 = Debug_ANGLE|Win32
{992E09E9-CAD0-4CDA-944A-AC837A071EEB}.Release_ANGLE|Win32.ActiveCfg = Release_ANGLE|Win32
{992E09E9-CAD0-4CDA-944A-AC837A071EEB}.Release_ANGLE|Win32.Build.0 = Release_ANGLE|Win32
{992E09E9-CAD0-4CDA-944A-AC837A071EEB}.Debug|x64.ActiveCfg = Debug|x64
{992E09E9-CAD0-4CDA-944A-AC837A071EEB}.Debug|x64.Build.0 = Debug|x64
{992E09E9-CAD0-4CDA-944A-AC837A071EEB}.Release|x64.ActiveCfg = Release|x64
{992E09E9-CAD0-4CDA-944A-AC837A071EEB}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
294 changes: 294 additions & 0 deletions samples/ColorPicker/vc2013/ColorPicker.vcxproj

Large diffs are not rendered by default.

112 changes: 112 additions & 0 deletions samples/ColorPicker/vc2013/ColorPicker.vcxproj.filters
@@ -0,0 +1,112 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
</Filter>
<Filter Include="Blocks">
<UniqueIdentifier>{747D0EEC-DD16-45A7-A440-BA0FCD5545DE}</UniqueIdentifier>
</Filter>
<Filter Include="Blocks\Serial">
<UniqueIdentifier>{207E3CAE-5D9D-4863-AF4E-8906432A0C06}</UniqueIdentifier>
</Filter>
<Filter Include="Blocks\Serial\include">
<UniqueIdentifier>{315EF321-4F33-4B2D-889D-BBB17EB130BC}</UniqueIdentifier>
</Filter>
<Filter Include="Blocks\Serial\src">
<UniqueIdentifier>{F71A364D-B274-44F4-8556-06C83E788358}</UniqueIdentifier>
</Filter>
<Filter Include="Blocks\Serial\lib">
<UniqueIdentifier>{15A0DDF5-3DDE-4767-80B4-416ADD23CD9B}</UniqueIdentifier>
</Filter>
<Filter Include="Blocks\Serial\lib\serial">
<UniqueIdentifier>{6CA30D51-158D-4BDF-BF6E-863976C1F7E7}</UniqueIdentifier>
</Filter>
<Filter Include="Blocks\Serial\lib\serial\include">
<UniqueIdentifier>{955E3F9C-30D9-4AC5-AB89-22F6E2FE1ECB}</UniqueIdentifier>
</Filter>
<Filter Include="Blocks\Serial\lib\serial\include\serial">
<UniqueIdentifier>{F8E052F5-93F0-4B22-ADA7-63985800C1F3}</UniqueIdentifier>
</Filter>
<Filter Include="Blocks\Serial\lib\serial\include\serial\impl">
<UniqueIdentifier>{10ACAB3D-8746-4C75-98D3-5788CE13EBA1}</UniqueIdentifier>
</Filter>
<Filter Include="Blocks\Serial\lib\serial\src">
<UniqueIdentifier>{78AE793D-3EDF-49AE-A242-EEF54F601313}</UniqueIdentifier>
</Filter>
<Filter Include="Blocks\Serial\lib\serial\src\impl">
<UniqueIdentifier>{BDE85468-A55C-4A8C-86E5-B63D6F9227A7}</UniqueIdentifier>
</Filter>
<Filter Include="Blocks\Serial\lib\serial\src\impl\list_ports">
<UniqueIdentifier>{79F7B385-318C-40F2-B1F7-D09D3876BC7B}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\ColorPickerApp.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\src\ColorPickerApp.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClInclude Include="..\include\Resources.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\..\include\Cinder-Serial.h">
<Filter>Blocks\Serial\include</Filter>
</ClInclude>
<ClInclude Include="..\..\..\include\SerialDevice.h">
<Filter>Blocks\Serial\include</Filter>
</ClInclude>
<ClCompile Include="..\..\..\src\SerialDevice.cpp">
<Filter>Blocks\Serial\src</Filter>
</ClCompile>
<ClInclude Include="..\..\..\lib\serial\include\serial\impl\unix.h">
<Filter>Blocks\Serial\lib\serial\include\serial\impl</Filter>
</ClInclude>
<ClInclude Include="..\..\..\lib\serial\include\serial\impl\win.h">
<Filter>Blocks\Serial\lib\serial\include\serial\impl</Filter>
</ClInclude>
<ClInclude Include="..\..\..\lib\serial\include\serial\serial.h">
<Filter>Blocks\Serial\lib\serial\include\serial</Filter>
</ClInclude>
<ClInclude Include="..\..\..\lib\serial\include\serial\v8stdint.h">
<Filter>Blocks\Serial\lib\serial\include\serial</Filter>
</ClInclude>
<ClCompile Include="..\..\..\lib\serial\src\impl\list_ports\list_ports_linux.cc">
<Filter>Blocks\Serial\lib\serial\src\impl\list_ports</Filter>
</ClCompile>
<ClCompile Include="..\..\..\lib\serial\src\impl\list_ports\list_ports_osx.cc">
<Filter>Blocks\Serial\lib\serial\src\impl\list_ports</Filter>
</ClCompile>
<ClCompile Include="..\..\..\lib\serial\src\impl\list_ports\list_ports_win.cc">
<Filter>Blocks\Serial\lib\serial\src\impl\list_ports</Filter>
</ClCompile>
<ClCompile Include="..\..\..\lib\serial\src\impl\unix.cc">
<Filter>Blocks\Serial\lib\serial\src\impl</Filter>
</ClCompile>
<ClCompile Include="..\..\..\lib\serial\src\impl\win.cc">
<Filter>Blocks\Serial\lib\serial\src\impl</Filter>
</ClCompile>
<ClCompile Include="..\..\..\lib\serial\src\serial.cc">
<Filter>Blocks\Serial\lib\serial\src</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\include\Resources.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="Resources.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
</Project>
3 changes: 3 additions & 0 deletions samples/ColorPicker/vc2013/Resources.rc
@@ -0,0 +1,3 @@
#include "../include/Resources.h"

1 ICON "..\\resources\\cinder_app_icon.ico"
Expand Up @@ -425,7 +425,7 @@
MACOSX_DEPLOYMENT_TARGET = 10.8;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
USER_HEADER_SEARCH_PATHS = "\"$(CINDER_PATH)/include\" ../include";
USER_HEADER_SEARCH_PATHS = "\"$(CINDER_PATH)/include\" ../include ../../../include ../../../lib/serial/include/serial ../../../lib/serial/include";
};
name = Debug;
};
Expand All @@ -444,7 +444,7 @@
);
MACOSX_DEPLOYMENT_TARGET = 10.8;
SDKROOT = macosx;
USER_HEADER_SEARCH_PATHS = "\"$(CINDER_PATH)/include\" ../include";
USER_HEADER_SEARCH_PATHS = "\"$(CINDER_PATH)/include\" ../include ../../../include ../../../lib/serial/include/serial ../../../lib/serial/include";
};
name = Release;
};
Expand Down
4 changes: 2 additions & 2 deletions samples/ColorPicker/xcode/Info.plist
Expand Up @@ -17,11 +17,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<string>0.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1</string>
<string>0</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key>
Expand Down
3 changes: 0 additions & 3 deletions src/SerialDevice.cpp
Expand Up @@ -8,9 +8,6 @@

#include "SerialDevice.h"

using namespace ci;
using namespace ci::app;

namespace Cinder { namespace Serial {

std::vector<SerialPortRef> SerialPort::sPorts;
Expand Down

0 comments on commit 0f36d18

Please sign in to comment.