Zoadian 11 роки тому
батько
коміт
32a59e1bab

+ 6 - 0
.gitignore

@@ -3,6 +3,12 @@
 *.lo
 *.o
 *.obj
+*.ipch
+*.pdb
+*.sdf
+Debug
+Release
+GeneratedFiles
 
 # Compiled Dynamic libraries
 *.so

+ 49 - 0
Visual Micro/.drumduino_firmware.vsarduino.h

@@ -0,0 +1,49 @@
+/* 
+	Editor: http://www.visualmicro.com
+	        visual micro and the arduino ide ignore this code during compilation. this code is automatically maintained by visualmicro, manual changes to this file will be overwritten
+	        the contents of the Visual Micro sketch sub folder can be deleted prior to publishing a project
+	        all non-arduino files created by visual micro and all visual studio project or solution files can be freely deleted and are not required to compile a sketch (do not delete your own code!).
+	        note: debugger breakpoints are stored in '.sln' or '.asln' files, knowledge of last uploaded breakpoints is stored in the upload.vmps.xml file. Both files are required to continue a previous debug session without needing to compile and upload again
+	
+	Hardware: Arduino Duemilanove or Diecimila w/ ATmega328, Platform=avr, Package=arduino
+*/
+
+#ifndef _VSARDUINO_H_
+#define _VSARDUINO_H_
+#define __AVR_ATmega328p__
+#define __AVR_ATmega328P__
+#define ARDUINO 156
+#define ARDUINO_MAIN
+#define __AVR__
+#define __avr__
+#define F_CPU 16000000L
+#define __cplusplus
+#define __inline__
+#define __asm__(x)
+#define __extension__
+#define __ATTR_PURE__
+#define __ATTR_CONST__
+#define __inline__
+#define __asm__ 
+#define __volatile__
+
+#define __builtin_va_list
+#define __builtin_va_start
+#define __builtin_va_end
+#define __DOXYGEN__
+#define __attribute__(x)
+#define NOINLINE __attribute__((noinline))
+#define prog_void
+#define PGM_VOID_P int
+            
+typedef unsigned char byte;
+extern "C" void __cxa_pure_virtual() {;}
+
+void multiplexSelectChan(uint8_t chan);
+//
+//
+
+#include "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\arduino.h"
+#include "C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard\pins_arduino.h" 
+#include "C:\Users\micro_000\Documents\Arduino\drumduino_firmware\drumduino_firmware.ino"
+#endif

Різницю між файлами не показано, бо вона завелика
+ 3 - 0
Visual Micro/Compile.vmps.xml


Різницю між файлами не показано, бо вона завелика
+ 3 - 0
Visual Micro/Configuration.Debug.vmps.xml


+ 49 - 0
drumduino_firmware.ino

@@ -0,0 +1,49 @@
+#define PORT_CNT 6
+#define CHAN_CNT 8
+
+#define MULTIPLEX_PIN_A 2
+#define MULTIPLEX_PIN_B 3
+#define MULTIPLEX_PIN_C 4
+
+void multiplexSelectChan(uint8_t chan)
+{
+	digitalWrite(MULTIPLEX_PIN_A, chan & 0x1);
+	digitalWrite(MULTIPLEX_PIN_B, chan & 0x2);
+	digitalWrite(MULTIPLEX_PIN_C, chan & 0x4);
+}
+
+
+byte valueFrame[1 + CHAN_CNT* PORT_CNT] = {0xff, 0};
+
+
+void setup()
+{
+	// Setup MultiplexSelection Pins
+	pinMode(MULTIPLEX_PIN_A, OUTPUT);
+	pinMode(MULTIPLEX_PIN_B, OUTPUT);
+	pinMode(MULTIPLEX_PIN_C, OUTPUT);
+
+	// Setup AD Pins
+	analogReference(DEFAULT);
+
+	// Setup Serial
+	Serial.begin(115200);
+	Serial.flush();
+}
+
+void loop()
+{
+	for(uint8_t chan = 0; chan < CHAN_CNT; ++chan) {
+		multiplexSelectChan(chan);
+
+		for(uint8_t port = 0; port < PORT_CNT; ++port) {
+			int channelNumber = port * CHAN_CNT + chan;
+
+			byte& value = *(valueFrame + 1 + channelNumber);
+
+			value = byte(analogRead(port) / 8); //map [0..1023] -> [0..127]
+		}
+	}
+
+	Serial.write(valueFrame, sizeof(valueFrame));
+}

+ 81 - 0
drumduino_firmware.vcxproj

@@ -0,0 +1,81 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{2C655178-8BFB-4C03-A05E-CE1942A80465}</ProjectGuid>
+    <RootNamespace>drumduino_firmware</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>true</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <UseDebugLibraries>false</UseDebugLibraries>
+    <PlatformToolset>v110</PlatformToolset>
+    <WholeProgramOptimization>true</WholeProgramOptimization>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup />
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>Disabled</Optimization>
+      <SDLCheck>true</SDLCheck>
+      <AdditionalIncludeDirectories>C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino;C:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\standard;C:\Program Files (x86)\Arduino\libraries;C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries;C:\Program Files (x86)\Visual Micro\Visual Micro for Arduino\Micro Platforms\default\debuggers;C:\Users\micro_000\Documents\Arduino\libraries;c:\program files (x86)\arduino\hardware\tools\avr\avr\include\;c:\program files (x86)\arduino\hardware\tools\avr\avr\include\avr\;c:\program files (x86)\arduino\hardware\tools\avr\avr\;c:\program files (x86)\arduino\hardware\tools\avr\lib\gcc\avr\4.3.2\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <ForcedIncludeFiles>C:\Users\micro_000\Documents\Arduino\drumduino_firmware\Visual Micro\.drumduino_firmware.vsarduino.h;%(ForcedIncludeFiles)</ForcedIncludeFiles>
+      <IgnoreStandardIncludePath>true</IgnoreStandardIncludePath>
+      <PreprocessorDefinitions>__AVR_ATmega328p__;__AVR_ATmega328P__;ARDUINO=156;ARDUINO_MAIN;__AVR__;__avr__;F_CPU=16000000L;__cplusplus;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <ClCompile>
+      <WarningLevel>Level3</WarningLevel>
+      <Optimization>MaxSpeed</Optimization>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <IntrinsicFunctions>true</IntrinsicFunctions>
+      <SDLCheck>true</SDLCheck>
+    </ClCompile>
+    <Link>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
+      <OptimizeReferences>true</OptimizeReferences>
+    </Link>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <None Include="drumduino_firmware.ino">
+      <FileType>CppCode</FileType>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="Visual Micro\.drumduino_firmware.vsarduino.h" />
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>

+ 25 - 0
drumduino_firmware.vcxproj.filters

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Quelldateien">
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
+    </Filter>
+    <Filter Include="Headerdateien">
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
+    </Filter>
+    <Filter Include="Ressourcendateien">
+      <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;mfcribbon-ms</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="drumduino_firmware.ino" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="Visual Micro\.drumduino_firmware.vsarduino.h">
+      <Filter>Headerdateien</Filter>
+    </ClInclude>
+  </ItemGroup>
+</Project>

Деякі файли не було показано, через те що забагато файлів було змінено