mirror of
https://github.com/caperren/school_archives.git
synced 2025-11-09 21:51:15 +00:00
Updated folder names
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Atmel Studio Solution File, Format Version 11.00
|
||||
Project("{E66E83B9-2572-4076-B26E-6BE79FF3018A}") = "ArmControl", "ArmControl.cppproj", "{1FC16D6E-A0D0-480A-BA3E-D179A1655ABB}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|AVR = Debug|AVR
|
||||
Release|AVR = Release|AVR
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{1FC16D6E-A0D0-480A-BA3E-D179A1655ABB}.Debug|AVR.ActiveCfg = Debug|AVR
|
||||
{1FC16D6E-A0D0-480A-BA3E-D179A1655ABB}.Debug|AVR.Build.0 = Debug|AVR
|
||||
{1FC16D6E-A0D0-480A-BA3E-D179A1655ABB}.Release|AVR.ActiveCfg = Release|AVR
|
||||
{1FC16D6E-A0D0-480A-BA3E-D179A1655ABB}.Release|AVR.Build.0 = Release|AVR
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
Binary file not shown.
@@ -0,0 +1,476 @@
|
||||
/*
|
||||
* ArmControl.cpp
|
||||
*
|
||||
* Created: 4/22/2014 8:54:20 PM
|
||||
<<<<<<< HEAD
|
||||
* Author: NICK!
|
||||
* PA0 is Step2POT
|
||||
* PA1 is Step1POT
|
||||
=======
|
||||
|
||||
PB3 = Limit 1 = Grip Limit
|
||||
PA3 = Limit 2 = Grip Close
|
||||
PA2 = Limit 3 = Rotation Calibration
|
||||
|
||||
|
||||
* Author: Nick
|
||||
>>>>>>> 034fb4b9ec9e5b3ad4812938ac8725fedd57e6b0
|
||||
*/
|
||||
|
||||
#define F_CPU 32000000UL
|
||||
#define MAXTIMEOUT 20
|
||||
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
#include <stdio.h>
|
||||
|
||||
extern "C" {
|
||||
#include "avr_compiler.h"
|
||||
#include "usart_driver.h"
|
||||
};
|
||||
|
||||
#include "Sabertooth.h"
|
||||
#include "XMegaMacros.h"
|
||||
#include "adc.h" //Include the ADC functions
|
||||
#include "motorInfo.h" //Include the motor information
|
||||
#include "stepperInfo.h"
|
||||
#include "rotateStepper.h"
|
||||
#include "Misc.h"
|
||||
|
||||
int swap = 0;
|
||||
USART_data_t USART_PC_Data;
|
||||
|
||||
|
||||
motorInfo lowerAct;
|
||||
motorInfo upperAct;
|
||||
stepperInfo gripStepper;
|
||||
rotateStepper baseStepper;
|
||||
|
||||
#define LOWER 0
|
||||
#define UPPER 1
|
||||
|
||||
#define GRIP 0
|
||||
#define RELEASE 1
|
||||
|
||||
#define GRIP_BM_SERIAL (1 << 1)
|
||||
|
||||
volatile bool canAcceptPackets = true;
|
||||
volatile bool IsPacketToParse = false;
|
||||
|
||||
volatile unsigned char ARM_Dock_State = 0;
|
||||
unsigned char ARM_Dock_State_Prev = 0;
|
||||
|
||||
volatile bool ShouldRECAL = 0;
|
||||
|
||||
volatile unsigned char bufferIndex = 0;
|
||||
|
||||
volatile long unsigned int TimeSinceInit = 0;
|
||||
long unsigned int TimePrevious = 0;
|
||||
|
||||
volatile int v = 0;
|
||||
|
||||
#define PACKETSIZE 10
|
||||
volatile char recieveBuffer[PACKETSIZE];
|
||||
volatile char SendBuffer[100];
|
||||
|
||||
enum { HEADER, COMMAND, BASEROTVAL1, BASEROTVAL2, ACT1VAL1, ACT1VAL2, ACT2VAL1, ACT2VAL2, CHECKSUM, TAIL};
|
||||
|
||||
enum XMegaStates{
|
||||
WaitForHost,
|
||||
ARMControl
|
||||
} CurrentState = WaitForHost;
|
||||
|
||||
void SetupResetTimer(){
|
||||
TCD0.CTRLA = TC_CLKSEL_DIV1024_gc; //31250 counts per second with 32Mhz Processor
|
||||
TCD0.CTRLB = TC_WGMODE_NORMAL_gc;
|
||||
TCD0.PER = 31250;
|
||||
TCD0.INTCTRLA = TC_OVFINTLVL_LO_gc;
|
||||
}
|
||||
|
||||
void FlushSerialBuffer(USART_data_t *UsartBuffer){
|
||||
while(USART_RXBufferData_Available(UsartBuffer)){
|
||||
USART_RXBuffer_GetByte(UsartBuffer);
|
||||
}
|
||||
}
|
||||
|
||||
ISR(USARTC0_RXC_vect){
|
||||
USART_RXComplete(&USART_PC_Data);
|
||||
|
||||
if(USART_RXBufferData_Available(&USART_PC_Data)){
|
||||
recieveBuffer[bufferIndex] = USART_RXBuffer_GetByte(&USART_PC_Data);
|
||||
bufferIndex++;
|
||||
}
|
||||
|
||||
if((bufferIndex == PACKETSIZE)){
|
||||
FlushSerialBuffer(&USART_PC_Data);
|
||||
if(recieveBuffer[8] == (recieveBuffer[1] ^ recieveBuffer[2] ^ recieveBuffer[3] ^ recieveBuffer[4] ^ recieveBuffer[5] ^ recieveBuffer[6] ^ recieveBuffer[7])){
|
||||
ShouldRECAL = recieveBuffer[1] & 0b00001000;
|
||||
ARM_Dock_State = recieveBuffer[1] & 0b00000100;
|
||||
gripStepper.desiredGripState = !(recieveBuffer[1] & GRIP_BM_SERIAL); //0b00000010
|
||||
baseStepper.desiredPos = (recieveBuffer[3]+recieveBuffer[2]);
|
||||
lowerAct.setDesired((double(recieveBuffer[5]+recieveBuffer[4]) / double(100)));
|
||||
upperAct.setDesired((double(recieveBuffer[7]+recieveBuffer[6]) / double(100)));
|
||||
IsPacketToParse = true;
|
||||
}else{
|
||||
while(!USART_IsTXDataRegisterEmpty(&USARTC0));
|
||||
USART_PutChar(&USARTC0, 255);
|
||||
while(!USART_IsTXDataRegisterEmpty(&USARTC0));
|
||||
USART_PutChar(&USARTC0,0); //Checksum failed
|
||||
while(!USART_IsTXDataRegisterEmpty(&USARTC0));
|
||||
USART_PutChar(&USARTC0,255);
|
||||
|
||||
bufferIndex = 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ISR(USARTC0_DRE_vect){
|
||||
USART_DataRegEmpty(&USART_PC_Data);
|
||||
}
|
||||
|
||||
|
||||
void SetXMEGA32MhzCalibrated(){
|
||||
CCP = CCP_IOREG_gc; //Disable register security for oscillator update
|
||||
OSC.CTRL = OSC_RC32MEN_bm; //Enable 32MHz oscillator
|
||||
while(!(OSC.STATUS & OSC_RC32MRDY_bm)); //Wait for oscillator to be ready
|
||||
CCP = CCP_IOREG_gc; //Disable register security for clock update
|
||||
CLK.CTRL = CLK_SCLKSEL_RC32M_gc; //Switch to 32MHz clock
|
||||
|
||||
|
||||
CCP = CCP_IOREG_gc; //Disable register security for oscillator update
|
||||
OSC.CTRL |= OSC_RC32KEN_bm; //Enable 32Khz oscillator
|
||||
while(!(OSC.STATUS & OSC_RC32KRDY_bm)); //Wait for oscillator to be ready
|
||||
OSC.DFLLCTRL &= ~OSC_RC32MCREF_bm; //Set up calibration source to be 32Khz crystal
|
||||
DFLLRC32M.CTRL |= DFLL_ENABLE_bm; //Enable calibration of 32Mhz oscillator
|
||||
}
|
||||
|
||||
void SetupPCComms(){
|
||||
PORTC.DIRSET = PIN3_bm; //Sets TX Pin as output
|
||||
PORTC.DIRCLR = PIN2_bm; //Sets RX pin as input
|
||||
|
||||
USART_InterruptDriver_Initialize(&USART_PC_Data, &USARTC0, USART_DREINTLVL_LO_gc); //Initialize USARTC0 as interrupt driven serial and clear it's buffers
|
||||
USART_Format_Set(USART_PC_Data.usart, USART_CHSIZE_8BIT_gc, USART_PMODE_DISABLED_gc, false); //Set the data format of 8 bits, no parity, 1 stop bit
|
||||
USART_RxdInterruptLevel_Set(USART_PC_Data.usart, USART_RXCINTLVL_LO_gc); //Enable the receive interrupt
|
||||
USART_Baudrate_Set(&USARTC0, 207 , 0); //Set baudrate to 9600 with 32Mhz system clock
|
||||
USART_Rx_Enable(USART_PC_Data.usart); //Enable receiving over serial
|
||||
USART_Tx_Enable(USART_PC_Data.usart); //Enable transmitting over serial
|
||||
PMIC.CTRL |= PMIC_LOLVLEX_bm; //Enable PMIC interrupt level low (No idea what this does, but is necessary)
|
||||
}
|
||||
|
||||
|
||||
//Motor 1 is Gripper
|
||||
//Motor 2 is Base Stepper
|
||||
void DemInitThingsYouBeenDoing(){
|
||||
SetXMEGA32MhzCalibrated();
|
||||
SetupPCComms();
|
||||
SetupResetTimer();
|
||||
|
||||
//Setup Status and Error LEDS
|
||||
PORTC.DIRSET = (PIN5_bm | PIN6_bm | PIN7_bm);
|
||||
|
||||
//Setup Outputs
|
||||
PORTD.DIRSET = (PIN0_bm | PIN1_bm | PIN2_bm | PIN3_bm | PIN4_bm | PIN5_bm | PIN6_bm | PIN7_bm);
|
||||
PORTA.DIRSET = (PIN5_bm | PIN6_bm | PIN7_bm); //First set of M settings
|
||||
PORTB.DIRSET = (PIN0_bm | PIN1_bm | PIN2_bm); //Second set of M settings
|
||||
|
||||
//Setup Inputs
|
||||
PORTA.DIRCLR = (PIN2_bm); //Rotation Calibration
|
||||
PORTA.DIRCLR = (PIN3_bm); //Grip Close
|
||||
PORTB.DIRCLR = (PIN3_bm); //Grip Limit
|
||||
PORTA.DIRCLR = (PIN4_bm); //'IsRoving' check
|
||||
|
||||
PORTA.PIN3CTRL = PORT_OPC_PULLUP_gc;
|
||||
PORTB.PIN3CTRL = PORT_OPC_PULLUP_gc;
|
||||
|
||||
//GRIP STEPPER is MD1
|
||||
|
||||
//SETUP "UPPER" DRIVER
|
||||
MD1_ENABLE();
|
||||
|
||||
//Setup Microstepping
|
||||
MD1_M0_CLR();
|
||||
MD1_M1_CLR();
|
||||
MD1_M2_SET();
|
||||
|
||||
MD1_DIR_CLR();
|
||||
MD1_STEP_CLR();
|
||||
|
||||
|
||||
//BASE STEPPER is MD2
|
||||
|
||||
//Motor Driver 2 setup
|
||||
MD2_ENABLE();
|
||||
|
||||
//Setup Microstepping
|
||||
MD2_M0_SET(); //Small amount of micro stepping is sufficient
|
||||
MD2_M1_SET();
|
||||
MD2_M2_CLR();
|
||||
|
||||
MD2_DIR_CLR();
|
||||
MD2_STEP_CLR();
|
||||
|
||||
sei();
|
||||
}
|
||||
|
||||
void SendStringPC(char *stufftosend){
|
||||
for(int i = 0 ; stufftosend[i] != '\0' ; i++){
|
||||
while(!USART_IsTXDataRegisterEmpty(&USARTC0));
|
||||
USART_PutChar(&USARTC0, stufftosend[i]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//DOCUMENTATION NEEDED :D
|
||||
double abs(double input){
|
||||
if(input > 0)
|
||||
return input;
|
||||
else
|
||||
return input * -1;
|
||||
}
|
||||
|
||||
//PA1 is lower act
|
||||
|
||||
//If a 0 is passed in, then the lower act is read
|
||||
//0 = LOWER ACT
|
||||
//1 = UPPER ACT
|
||||
int smoothADC(int act){
|
||||
const int smoothFactor = 7;
|
||||
int count = 0;
|
||||
for(int i = 0; i < smoothFactor; ++i){
|
||||
if(act == LOWER){
|
||||
count += ReadADC(1,1);
|
||||
}
|
||||
else if(act == UPPER) {
|
||||
count += ReadADC(0,1);
|
||||
}
|
||||
_delay_ms(1);
|
||||
}
|
||||
return count/smoothFactor;
|
||||
}
|
||||
|
||||
//lowerAct upperAct
|
||||
void checkActPosition(){
|
||||
|
||||
if (abs(lowerAct.currentPos - lowerAct.desiredPos) < lowerAct.acceptableError){
|
||||
++lowerAct.acceptableCount;
|
||||
}
|
||||
else{
|
||||
lowerAct.acceptableCount = 0;
|
||||
}
|
||||
if (abs(upperAct.currentPos - upperAct.desiredPos) < upperAct.acceptableError){
|
||||
++upperAct.acceptableCount;
|
||||
}
|
||||
else{
|
||||
upperAct.acceptableCount = 0;
|
||||
}
|
||||
|
||||
if(upperAct.acceptableCount >= upperAct.acceptableCountMax){
|
||||
upperAct.disable();
|
||||
}
|
||||
if(lowerAct.acceptableCount >= upperAct.acceptableCountMax){
|
||||
lowerAct.disable();
|
||||
}
|
||||
|
||||
|
||||
lowerAct.currentPos = smoothADC(LOWER)/58.13 -.41;
|
||||
upperAct.currentPos = smoothADC(UPPER)/58.13 -.41;
|
||||
}
|
||||
|
||||
int getMotorSpeed(int act){
|
||||
|
||||
if(act == LOWER){
|
||||
if(abs(lowerAct.currentPos - lowerAct.desiredPos) < lowerAct.slowRange/2)
|
||||
return lowerAct.speed / 3;
|
||||
else if(abs(lowerAct.currentPos - lowerAct.desiredPos) < lowerAct.slowRange)
|
||||
return lowerAct.speed / 2;
|
||||
else
|
||||
return lowerAct.speed;
|
||||
}
|
||||
else if (act == UPPER){
|
||||
if(abs(upperAct.currentPos - upperAct.desiredPos) < upperAct.slowRange/2)
|
||||
return upperAct.speed / 3;
|
||||
else if(abs(upperAct.currentPos - upperAct.desiredPos) < upperAct.slowRange)
|
||||
return upperAct.speed / 2;
|
||||
else
|
||||
return upperAct.speed;
|
||||
}
|
||||
|
||||
|
||||
////////
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*Returns a 1 or a -1, depending on whether the actuator needs to retract
|
||||
or extend
|
||||
*/
|
||||
int getMotorDir(int act){
|
||||
if(act == LOWER){
|
||||
if(!lowerAct.enabled)
|
||||
return 0;
|
||||
|
||||
if(lowerAct.currentPos > lowerAct.desiredPos)
|
||||
return -1;
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
else if(act == UPPER){
|
||||
if(!upperAct.enabled)
|
||||
return 0;
|
||||
|
||||
if(upperAct.currentPos > upperAct.desiredPos)
|
||||
return -1;
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
/////////
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
DemInitThingsYouBeenDoing(); //All init moved to nicer spot
|
||||
_delay_ms(1000);
|
||||
|
||||
|
||||
Sabertooth DriveSaber(&USARTD0, &PORTD);
|
||||
|
||||
|
||||
upperAct.desiredPos = 3.0;
|
||||
lowerAct.desiredPos = 3.5;
|
||||
|
||||
//Wait until rover is unpaused
|
||||
while(!CHECK_ISROVING());
|
||||
|
||||
lowerAct.enable();
|
||||
upperAct.enable();
|
||||
|
||||
|
||||
/////////////Initial Calibration and Default Positions//////////////////////
|
||||
while((lowerAct.enabled || upperAct.enabled)){
|
||||
checkActPosition();
|
||||
DriveSaber.ParsePacket(127+getMotorSpeed(LOWER)*getMotorDir(LOWER), 127+getMotorSpeed(UPPER)*getMotorDir(UPPER));
|
||||
while(!CHECK_ISROVING()){
|
||||
DriveSaber.ParsePacket(127,127);
|
||||
}
|
||||
}
|
||||
baseStepper.calibrateBase();
|
||||
MD2_DIR_CLR();
|
||||
baseStepper.rotateBase(0); //Note that this function takes an angle relative
|
||||
|
||||
|
||||
gripStepper.enable(); //to the absolute 0 on the robot
|
||||
gripStepper.processCommand(RELEASE);
|
||||
/*
|
||||
_delay_ms(5000);
|
||||
gripStepper.enable();
|
||||
gripStepper.processCommand(GRIP);
|
||||
*/
|
||||
///////////////// DEBUG (and not wasting power) purposes!
|
||||
//MD2_DISABLE();
|
||||
/////////////////
|
||||
|
||||
/////////////Initial Calibration and Default Positions//////////////////////
|
||||
|
||||
// sprintf(SendBuffer, "Multiplier: %d \r\n \r\n", (int) baseStepper.multiplier);
|
||||
// SendStringPC(SendBuffer); //Send Dem Strings
|
||||
while(1){
|
||||
if(CurrentState == WaitForHost){
|
||||
SendStringPC("ID: ArmControl\r\n");
|
||||
_delay_ms(500);
|
||||
if(recieveBuffer[0] == 'r'){
|
||||
CurrentState = ARMControl;
|
||||
while(!USART_IsTXDataRegisterEmpty(&USARTC0));
|
||||
USART_PutChar(&USARTC0, 'r');
|
||||
TimePrevious = TimeSinceInit;
|
||||
}
|
||||
bufferIndex = 0;
|
||||
}else if(CurrentState == ARMControl){
|
||||
if(IsPacketToParse){
|
||||
if(ShouldRECAL == true){
|
||||
|
||||
|
||||
upperAct.desiredPos = 3.0;
|
||||
lowerAct.desiredPos = 3.5;
|
||||
|
||||
lowerAct.enable();
|
||||
upperAct.enable();
|
||||
|
||||
/////////////Initial Calibration and Default Positions//////////////////////
|
||||
while((lowerAct.enabled || upperAct.enabled)){
|
||||
checkActPosition();
|
||||
DriveSaber.ParsePacket(127+getMotorSpeed(LOWER)*getMotorDir(LOWER), 127+getMotorSpeed(UPPER)*getMotorDir(UPPER));
|
||||
while(!CHECK_ISROVING()){
|
||||
DriveSaber.ParsePacket(127,127);
|
||||
}
|
||||
}
|
||||
|
||||
baseStepper.calibrateBase();
|
||||
MD2_DIR_CLR();
|
||||
baseStepper.rotateBase(0); //Note that this function takes an angle relative
|
||||
|
||||
if(gripStepper.desiredGripState){
|
||||
gripStepper.enable(); //to the absolute 0 on the robot
|
||||
gripStepper.processCommand(RELEASE);
|
||||
}
|
||||
|
||||
ShouldRECAL = false;
|
||||
|
||||
}else{
|
||||
ERROR_SET(); //Show light when done with actuators
|
||||
lowerAct.enable(); //Re-enable lower actuator
|
||||
upperAct.enable(); //Re-enabled lower actuator
|
||||
|
||||
baseStepper.rotateBase(baseStepper.desiredPos); //Move base to position
|
||||
|
||||
checkActPosition(); //Check once to avoid loop is possible
|
||||
while(lowerAct.enabled || upperAct.enabled){ //If a motor needs to move, do below
|
||||
checkActPosition(); //Check positions
|
||||
DriveSaber.ParsePacket(127+getMotorSpeed(LOWER)*getMotorDir(LOWER), 127+getMotorSpeed(LOWER)*getMotorDir(UPPER)); //Move to position
|
||||
while(!CHECK_ISROVING()){
|
||||
DriveSaber.ParsePacket(127,127);
|
||||
} //e-stop check
|
||||
} //Exit when done moving
|
||||
|
||||
|
||||
DriveSaber.ParsePacket(127,127); //Stop actuators from moving any more
|
||||
|
||||
if((gripStepper.desiredGripState == GRIP)){
|
||||
gripStepper.enable();
|
||||
gripStepper.processCommand(GRIP);
|
||||
}else if(gripStepper.desiredGripState == RELEASE){
|
||||
gripStepper.enable();
|
||||
gripStepper.processCommand(RELEASE);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
IsPacketToParse = false;
|
||||
ERROR_CLR();
|
||||
while(!USART_IsTXDataRegisterEmpty(&USARTC0));
|
||||
USART_PutChar(&USARTC0, 255);
|
||||
while(!USART_IsTXDataRegisterEmpty(&USARTC0));
|
||||
USART_PutChar(&USARTC0, 0b00000010 | CHECK_GRIP_CLOSE());
|
||||
while(!USART_IsTXDataRegisterEmpty(&USARTC0));
|
||||
USART_PutChar(&USARTC0,255);
|
||||
bufferIndex = 0;
|
||||
TimePrevious = TimeSinceInit;
|
||||
}
|
||||
|
||||
//if((TimePrevious - TimeSinceInit) > MAXTIMEOUT){
|
||||
// CurrentState = WaitForHost;
|
||||
// bufferIndex = 0;
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ISR(TCD0_OVF_vect){
|
||||
TimeSinceInit++;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,177 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectVersion>6.2</ProjectVersion>
|
||||
<ToolchainName>com.Atmel.AVRGCC8.CPP</ToolchainName>
|
||||
<ProjectGuid>{1fc16d6e-a0d0-480a-ba3e-d179a1655abb}</ProjectGuid>
|
||||
<avrdevice>ATxmega32D4</avrdevice>
|
||||
<avrdeviceseries>none</avrdeviceseries>
|
||||
<OutputType>Executable</OutputType>
|
||||
<Language>CPP</Language>
|
||||
<OutputFileName>$(MSBuildProjectName)</OutputFileName>
|
||||
<OutputFileExtension>.elf</OutputFileExtension>
|
||||
<OutputDirectory>$(MSBuildProjectDirectory)\$(Configuration)</OutputDirectory>
|
||||
<AssemblyName>ArmControl</AssemblyName>
|
||||
<Name>ArmControl</Name>
|
||||
<RootNamespace>ArmControl</RootNamespace>
|
||||
<ToolchainFlavour>Native</ToolchainFlavour>
|
||||
<KeepTimersRunning>true</KeepTimersRunning>
|
||||
<OverrideVtor>false</OverrideVtor>
|
||||
<CacheFlash>true</CacheFlash>
|
||||
<ProgFlashFromRam>true</ProgFlashFromRam>
|
||||
<RamSnippetAddress />
|
||||
<UncachedRange />
|
||||
<OverrideVtorValue />
|
||||
<BootSegment>2</BootSegment>
|
||||
<eraseonlaunchrule>1</eraseonlaunchrule>
|
||||
<AsfFrameworkConfig>
|
||||
<framework-data xmlns="">
|
||||
<options />
|
||||
<configurations />
|
||||
<files />
|
||||
<documentation help="" />
|
||||
<offline-documentation help="" />
|
||||
<dependencies>
|
||||
<content-extension eid="atmel.asf" uuidref="Atmel.ASF" version="3.15.0" />
|
||||
</dependencies>
|
||||
</framework-data>
|
||||
</AsfFrameworkConfig>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
||||
<ToolchainSettings>
|
||||
<AvrGccCpp>
|
||||
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
|
||||
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
|
||||
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
|
||||
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
|
||||
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
|
||||
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcc.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>NDEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.symbols.DefSymbols>
|
||||
<avrgcc.compiler.optimization.level>Optimize for size (-Os)</avrgcc.compiler.optimization.level>
|
||||
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
|
||||
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>NDEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<avrgcccpp.compiler.optimization.level>Optimize for size (-Os)</avrgcccpp.compiler.optimization.level>
|
||||
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
|
||||
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.linker.libraries.Libraries>
|
||||
<ListValues>
|
||||
<Value>libm</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.linker.libraries.Libraries>
|
||||
</AvrGccCpp>
|
||||
</ToolchainSettings>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||
<ToolchainSettings>
|
||||
<AvrGccCpp>
|
||||
<avrgcc.common.outputfiles.hex>True</avrgcc.common.outputfiles.hex>
|
||||
<avrgcc.common.outputfiles.lss>True</avrgcc.common.outputfiles.lss>
|
||||
<avrgcc.common.outputfiles.eep>True</avrgcc.common.outputfiles.eep>
|
||||
<avrgcc.common.outputfiles.srec>True</avrgcc.common.outputfiles.srec>
|
||||
<avrgcc.common.outputfiles.usersignatures>False</avrgcc.common.outputfiles.usersignatures>
|
||||
<avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcc.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcc.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcc.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>DEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcc.compiler.symbols.DefSymbols>
|
||||
<avrgcc.compiler.optimization.level>Optimize (-O1)</avrgcc.compiler.optimization.level>
|
||||
<avrgcc.compiler.optimization.PackStructureMembers>True</avrgcc.compiler.optimization.PackStructureMembers>
|
||||
<avrgcc.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcc.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcc.compiler.optimization.DebugLevel>Default (-g2)</avrgcc.compiler.optimization.DebugLevel>
|
||||
<avrgcc.compiler.warnings.AllWarnings>True</avrgcc.compiler.warnings.AllWarnings>
|
||||
<avrgcc.compiler.miscellaneous.OtherFlags>-std=gnu99 -Wl,-7u,vfprintf -lprintf_flt -lm</avrgcc.compiler.miscellaneous.OtherFlags>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultCharTypeUnsigned>
|
||||
<avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>True</avrgcccpp.compiler.general.ChangeDefaultBitFieldUnsigned>
|
||||
<avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<ListValues>
|
||||
<Value>DEBUG</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.compiler.symbols.DefSymbols>
|
||||
<avrgcccpp.compiler.optimization.level>Optimize (-O1)</avrgcccpp.compiler.optimization.level>
|
||||
<avrgcccpp.compiler.optimization.PackStructureMembers>True</avrgcccpp.compiler.optimization.PackStructureMembers>
|
||||
<avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>True</avrgcccpp.compiler.optimization.AllocateBytesNeededForEnum>
|
||||
<avrgcccpp.compiler.optimization.DebugLevel>Default (-g2)</avrgcccpp.compiler.optimization.DebugLevel>
|
||||
<avrgcccpp.compiler.warnings.AllWarnings>True</avrgcccpp.compiler.warnings.AllWarnings>
|
||||
<avrgcccpp.compiler.miscellaneous.OtherFlags>-Wl,-u,vfprintf -lprintf_flt -lm</avrgcccpp.compiler.miscellaneous.OtherFlags>
|
||||
<avrgcccpp.compiler.miscellaneous.Verbose>True</avrgcccpp.compiler.miscellaneous.Verbose>
|
||||
<avrgcccpp.linker.libraries.Libraries>
|
||||
<ListValues>
|
||||
<Value>libm</Value>
|
||||
</ListValues>
|
||||
</avrgcccpp.linker.libraries.Libraries>
|
||||
<avrgcccpp.assembler.debugging.DebugLevel>Default (-Wa,-g)</avrgcccpp.assembler.debugging.DebugLevel>
|
||||
</AvrGccCpp>
|
||||
</ToolchainSettings>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="adc.cpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="adc.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ArmControl.cpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="avr_compiler.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Misc.cpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Misc.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="motorInfo.cpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="motorInfo.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="rotateStepper.cpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="rotateStepper.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Sabertooth.cpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Sabertooth.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="stepperInfo.cpp">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="stepperInfo.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="usart_driver.c">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="usart_driver.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
<Compile Include="XMegaMacros.h">
|
||||
<SubType>compile</SubType>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(AVRSTUDIO_EXE_PATH)\\Vs\\Compiler.targets" />
|
||||
</Project>
|
||||
@@ -0,0 +1,91 @@
|
||||
ArmControl.d ArmControl.o: .././ArmControl.cpp \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdio.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdarg.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stddef.h \
|
||||
.././avr_compiler.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdbool.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdlib.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \
|
||||
.././usart_driver.h .././Sabertooth.h .././XMegaMacros.h .././adc.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\ctype.h \
|
||||
.././motorInfo.h .././stepperInfo.h .././rotateStepper.h .././Misc.h
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdio.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdarg.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stddef.h:
|
||||
|
||||
.././avr_compiler.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdbool.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdlib.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\pgmspace.h:
|
||||
|
||||
.././usart_driver.h:
|
||||
|
||||
.././Sabertooth.h:
|
||||
|
||||
.././XMegaMacros.h:
|
||||
|
||||
.././adc.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\ctype.h:
|
||||
|
||||
.././motorInfo.h:
|
||||
|
||||
.././stepperInfo.h:
|
||||
|
||||
.././rotateStepper.h:
|
||||
|
||||
.././Misc.h:
|
||||
@@ -0,0 +1 @@
|
||||
:00000001FF
|
||||
Binary file not shown.
@@ -0,0 +1,409 @@
|
||||
:100000000C94B8000C94E0000C94E0000C94E00018
|
||||
:100010000C94E0000C94E0000C94E0000C94E000E0
|
||||
:100020000C94E0000C94E0000C94E0000C94E000D0
|
||||
:100030000C94E0000C94E0000C94E0000C94E000C0
|
||||
:100040000C94E0000C94E0000C94E0000C94E000B0
|
||||
:100050000C94E0000C94E0000C94E0000C94E000A0
|
||||
:100060000C94E0000C944D010C9419020C94E000E7
|
||||
:100070000C94E0000C94E0000C94E0000C94E00080
|
||||
:100080000C94E0000C94E0000C94E0000C94E00070
|
||||
:100090000C94E0000C94E0000C94E0000C94E00060
|
||||
:1000A0000C94E0000C94E0000C94E0000C94E00050
|
||||
:1000B0000C94E0000C94E0000C94E0000C94E00040
|
||||
:1000C0000C94E0000C94E0000C94E0000C94E00030
|
||||
:1000D0000C94E0000C94E0000C94E0000C94E00020
|
||||
:1000E0000C94E0000C94E0000C94E0000C94E00010
|
||||
:1000F0000C94E0000C94E0000C94E0000C94E00000
|
||||
:100100000C94E0000C94E0000C94E0000C94E000EF
|
||||
:100110000C94E0000C94E0000C94E0000C94E000DF
|
||||
:100120000C94E0000C94E0000C94E0000C94E000CF
|
||||
:100130000C94E0000C944F070C94E0000C94E00049
|
||||
:100140000C94E0000C94E0000C94E0000C94E000AF
|
||||
:100150000C94E0000C94E0000C94E0000C94E0009F
|
||||
:100160000C94E0000C94E0000C94E0007407850708
|
||||
:1001700011241FBECFEFCDBFDFE2DEBF10E2A0E053
|
||||
:10018000B0E2EAE5F9E102C005900D92A231B107B3
|
||||
:10019000D9F720E2A2E1B0E201C01D92AB37B2076D
|
||||
:1001A000E1F711E0CEE6D1E004C02297FE010E9403
|
||||
:1001B0009C0CCC36D107C9F70E9436050C94A00CD4
|
||||
:1001C0000C940000AAECB1E022E02C93FC01849195
|
||||
:1001D0001C9208950F931F93CF93DF93182F062F30
|
||||
:1001E0008091000280FD1BC0C0E0D2E081E08883E6
|
||||
:1001F00084E0898380E18A831B8286E08C8380E2AD
|
||||
:1002000090E00E94E2008C8781E290E00E94E20090
|
||||
:100210008D878FE79CE00197F1F700C00000E0E0D8
|
||||
:10022000F2E000A3110F110F110F11A312A280A170
|
||||
:10023000806880A386818823E9F3E0E0F2E086818C
|
||||
:10024000868380A1806880A386818823E9F3E0E02B
|
||||
:10025000F2E08681868380899189DF91CF911F9119
|
||||
:100260000F910895E0E0F9E087E08083118282E158
|
||||
:100270009AE786A397A381E086830895CF93DF93BF
|
||||
:10028000EC0103C0CE010E94200ACE010E94180A90
|
||||
:100290008111F8CFDF91CF9108951F920F920FB681
|
||||
:1002A0000F9211242F933F934F935F936F937F93FC
|
||||
:1002B0008F939F93AF93BF93CF93DF93EF93FF936E
|
||||
:1002C0008CE690E20E942C0A8CE690E20E94180ACA
|
||||
:1002D000882379F0C0912520D0E08CE690E20E943E
|
||||
:1002E000200ACD5EDF4D8883809125208F5F80932B
|
||||
:1002F0002520809125208A3009F088C08CE690E284
|
||||
:100300000E943E0190911B20809114207091152035
|
||||
:10031000609116205091172040911820309119209B
|
||||
:1003200020911A20872786278527842783278227DD
|
||||
:10033000981353C0E4E1F0E2808183FB882780F9C1
|
||||
:100340008093262080818470809327208081C1E063
|
||||
:10035000869581708C2780933B2020911620809178
|
||||
:10036000152090E0820F911D8093332090933420CC
|
||||
:10037000809118206091172070E0680F711D882708
|
||||
:1003800077FD8095982F0E945B0B20E030E048ECD1
|
||||
:1003900052E40E94C00AAB01BC0184E590E20E94D5
|
||||
:1003A000BF0780911A206091192070E0680F711DBD
|
||||
:1003B000882777FD8095982F0E945B0B20E030E026
|
||||
:1003C00048EC52E40E94C00AAB01BC018CE390E20D
|
||||
:1003D0000E94BF07C093282019C0E0EAF8E081819D
|
||||
:1003E00085FFFDCF8FEF8093A008E0EAF8E08181E0
|
||||
:1003F00085FFFDCF1092A008E0EAF8E0818185FF3B
|
||||
:10040000FDCF8FEF8093A00810922520FF91EF91F0
|
||||
:10041000DF91CF91BF91AF919F918F917F916F911C
|
||||
:100420005F914F913F912F910F900FBE0F901F90B2
|
||||
:1004300018951F920F920FB60F9211242F933F938E
|
||||
:100440004F935F936F937F938F939F93AF93BF93DC
|
||||
:10045000EF93FF938CE690E20E94410AFF91EF91A7
|
||||
:10046000BF91AF919F918F917F916F915F914F91CC
|
||||
:100470003F912F910F900FBE0F901F90189588ED10
|
||||
:1004800084BF82E080935000E0E5F0E0818181FF4D
|
||||
:10049000FDCF88ED84BF91E09093400084BFE0E5FC
|
||||
:1004A000F0E0808184608083818182FFFDCFE0E580
|
||||
:1004B000F0E086818D7F8683E0E6F0E080818160D8
|
||||
:1004C00080830895E0E4F6E088E0818384E082831D
|
||||
:1004D00041E060EA78E08CE690E20E940F0AE09149
|
||||
:1004E0006C20F0916D2083E0858383818F7C806117
|
||||
:1004F0008383A0EAB8E08FEC16968C931697179634
|
||||
:100500001C92848180618483848188608483E0EA92
|
||||
:10051000F0E08281816082830895CF93DF930E940F
|
||||
:100520003F020E9462020E94320180EEE0E4F6E0A7
|
||||
:100530008183A0E6B6E09FEF11969C931197E0E0CF
|
||||
:10054000F6E08183C0E2D6E087E0898384E082839D
|
||||
:1005500098E092839A8320E1228398E1938B9B8B8E
|
||||
:1005600030E416963C93169790E29683368330E8F3
|
||||
:10057000358316962C93169716969C931697169677
|
||||
:100580008C93169721E02D8392E09D838E8316969F
|
||||
:100590002C93169716969C937894DF91CF9108959B
|
||||
:1005A000FC012081222359F0DC011196E0EAF8E0F9
|
||||
:1005B000818185FFFDCF20832D912111F9CF0895F1
|
||||
:1005C000EF92FF920F931F93CF93DF938C01C7E0BD
|
||||
:1005D000D0E0E12CF12C0115110539F461E081E046
|
||||
:1005E0000E94EA00E80EF91E09C00130110531F43D
|
||||
:1005F00061E080E00E94EA00E80EF91E8FE39FE1CF
|
||||
:100600000197F1F700C000002197209721F7C7015B
|
||||
:1006100067E070E00E94720CCB01DF91CF911F91D7
|
||||
:100620000F91FF90EF900895CF92DF92EF92FF929B
|
||||
:10063000209168203091692040916A2050916B2070
|
||||
:100640006091642070916520809166209091672070
|
||||
:100650000E945B0A6B017C0120E030E0A9010E944E
|
||||
:10066000E70B181624F0F7FAF094F7F8F094A701C6
|
||||
:100670009601609158207091592080915A20909154
|
||||
:100680005B200E94E70B181644F4E6E5F0E2808157
|
||||
:10069000918101968083918304C01092562010921C
|
||||
:1006A000572020915020309151204091522050915C
|
||||
:1006B000532060914C2070914D2080914E2090915C
|
||||
:1006C0004F200E945B0A6B017C0120E030E0A90111
|
||||
:1006D0000E94E70B181624F0F7FAF094F7F8F0945C
|
||||
:1006E000A7019601609140207091412080914220A5
|
||||
:1006F000909143200E94E70B181644F4EEE3F0E2D9
|
||||
:100700008081918101968083918304C010923E2064
|
||||
:1007100010923F2020913E2030913F2080913C203C
|
||||
:1007200090913D202817390724F08CE390E20E9435
|
||||
:10073000BB07209156203091572080913C2090910A
|
||||
:100740003D202817390724F084E590E20E94BB077A
|
||||
:1007500080E090E00E94E002BC01882777FD809550
|
||||
:10076000982F0E945B0B2FE135E848E652E40E9487
|
||||
:10077000C00A25E83BEE41ED5EE30E945B0A609310
|
||||
:10078000642070936520809366209093672081E0B9
|
||||
:1007900090E00E94E002BC01882777FD8095982FA9
|
||||
:1007A0000E945B0B2FE135E848E652E40E94C00A44
|
||||
:1007B00025E83BEE41ED5EE30E945B0A60934C202E
|
||||
:1007C00070934D2080934E2090934F20FF90EF9098
|
||||
:1007D000DF90CF9008954F925F926F927F928F92A9
|
||||
:1007E0009F92AF92BF92CF92DF92EF92FF920097CB
|
||||
:1007F00009F071C0409064205090652060906620A0
|
||||
:1008000070906720209168203091692040916A2083
|
||||
:1008100050916B20C301B2010E945B0A6B017C0105
|
||||
:1008200020E030E0A9010E94E70B181624F0F7FA47
|
||||
:10083000F094F7F8F09480905C2090905D20A09068
|
||||
:100840005E20B0905F2020E030E040E05FE3C50133
|
||||
:10085000B4010E94EB0BA70196010E94E70B18164A
|
||||
:1008600054F4809160209091612063E070E00E94D8
|
||||
:10087000720CCB01A6C02091682030916920409174
|
||||
:100880006A2050916B20C301B2010E945B0A6B0188
|
||||
:100890007C0120E030E0A9010E94E70B181624F04B
|
||||
:1008A000F7FAF094F7F8F094A7019601C501B401A6
|
||||
:1008B0000E94E70B181654F48091602090916120FB
|
||||
:1008C00099230CF40196959587957BC080916020C3
|
||||
:1008D0009091612076C0019709F071C040904C2042
|
||||
:1008E00050904D2060904E2070904F2020915020CD
|
||||
:1008F000309151204091522050915320C301B201B8
|
||||
:100900000E945B0A6B017C0120E030E0A9010E949B
|
||||
:10091000E70B181624F0F7FAF094F7F8F0948090AB
|
||||
:10092000442090904520A0904620B090472020E0A1
|
||||
:1009300030E040E05FE3C501B4010E94EB0BA7018A
|
||||
:1009400096010E94E70B181654F48091482090916C
|
||||
:10095000492063E070E00E94720CCB0132C020910C
|
||||
:100960005020309151204091522050915320C3018A
|
||||
:10097000B2010E945B0A6B017C0120E030E0A9011A
|
||||
:100980000E94E70B181624F0F7FAF094F7F8F094A9
|
||||
:10099000A7019601C501B4010E94E70B181654F493
|
||||
:1009A000809148209091492099230CF401969595C7
|
||||
:1009B000879507C0809148209091492002C080E02F
|
||||
:1009C00090E0FF90EF90DF90CF90BF90AF909F901E
|
||||
:1009D0008F907F906F905F904F9008950097F1F403
|
||||
:1009E0008091622090916320009709F43EC020918D
|
||||
:1009F00068203091692040916A2050916B2060916D
|
||||
:100A000064207091652080916620909167200E94FB
|
||||
:100A1000E70B181614F58FEF9FEF0895019701F576
|
||||
:100A200080914A2090914B200097F9F0209150201E
|
||||
:100A300030915120409152205091532060914C2090
|
||||
:100A400070914D2080914E2090914F200E94E70B95
|
||||
:100A500018164CF48FEF9FEF089581E090E0089511
|
||||
:100A600080E090E0089581E090E00895CF93DF93D7
|
||||
:100A700000D000D0CDB7DEB70E948D022FEF87EAFD
|
||||
:100A800091E6215080409040E1F700C0000040E630
|
||||
:100A900056E060EA79E0CE0101960E94280980E0E4
|
||||
:100AA00090E0A0E4B0E48093502090935120A09374
|
||||
:100AB0005220B093532080E090E0A0E6B0E4809311
|
||||
:100AC000682090936920A0936A20B0936B20E0E0A7
|
||||
:100AD000F6E0808584FFFDCF84E590E20E94B507B3
|
||||
:100AE0008CE390E20E94B5070F2EF2E6CF2EF0E2E3
|
||||
:100AF000DF2EF02D0F2EFAE4EF2EF0E2FF2EF02D78
|
||||
:100B000000E016E031C00E94140381E090E00E94F2
|
||||
:100B1000EB03A82E81E090E00E94EE04982E80E086
|
||||
:100B200090E00E94EB03B82E80E090E00E94EE047B
|
||||
:100B30009A9C402D112441588B9D802D11246FE7E4
|
||||
:100B4000680FCE0101960E94E008D80118968C919A
|
||||
:100B500084FD0AC04FE76FE7CE0101960E94E008CE
|
||||
:100B6000F801808584FFF6CFD6018D919C91892B69
|
||||
:100B700051F6F70180819181892B29F689E290E273
|
||||
:100B80000E94DA0781E0E0E6F6E0868360E070E04C
|
||||
:100B900089E290E20E94980885E390E20E94090AA7
|
||||
:100BA00061E070E085E390E20E9467090F2EF0EAB1
|
||||
:100BB000EF2EF8E0FF2EF02D00E016E00F2EF2E60B
|
||||
:100BC000CF2EF0E2DF2EF02D0F2EFAE4AF2EF0E262
|
||||
:100BD000BF2EF02D412C512C6894662466F8762C9B
|
||||
:100BE0008091122081112FC080E090E20E94D002FB
|
||||
:100BF000FFEF23ED80E3F15020408040E1F700C09B
|
||||
:100C00000000809113208237D9F481E08093122074
|
||||
:100C1000D70111968C91119785FFFACF82E78C93BB
|
||||
:100C20008091212090912220A0912320B091242016
|
||||
:100C300080931D2090931E20A0931F20B09320200E
|
||||
:100C400010922520CDCF813059F68091282088231D
|
||||
:100C500039F280912620882309F477C040925020F1
|
||||
:100C600050925120609252207092532080E090E088
|
||||
:100C7000A0E6B0E48093682090936920A0936A2056
|
||||
:100C8000B0936B2084E590E20E94B5078CE390E27C
|
||||
:100C90000E94B50731C00E94140381E090E00E94D9
|
||||
:100CA000EB03882E81E090E00E94EE04382E80E075
|
||||
:100CB00090E00E94EB03982E80E090E00E94EE040A
|
||||
:100CC000389C402D11244158899D802D11246FE7B7
|
||||
:100CD000680FCE0101960E94E008D80118968C9109
|
||||
:100CE00084FD0AC04FE76FE7CE0101960E94E0083D
|
||||
:100CF000F801808584FFF6CFD6018D919C91892BD8
|
||||
:100D000051F6F50180819181892B29F689E290E2E3
|
||||
:100D10000E94DA0781E0E0E6F6E0868360E070E0BA
|
||||
:100D200089E290E20E94980880913B20882351F04C
|
||||
:100D300085E390E20E94090A61E070E085E390E2B9
|
||||
:100D40000E9467091092262074C080E880934506AF
|
||||
:100D500084E590E20E94B5078CE390E20E94B5071B
|
||||
:100D6000609133207091342089E290E20E949808CB
|
||||
:100D70000E94140331C00E94140380E090E00E949E
|
||||
:100D8000EB03882E81E090E00E94EE04382E80E094
|
||||
:100D900090E00E94EB03982E80E090E00E94EE0429
|
||||
:100DA000389C402D11244158899D802D11246FE7D6
|
||||
:100DB000680FCE0101960E94E008D80118968C9128
|
||||
:100DC00084FD0AC04FE76FE7CE0101960E94E0085C
|
||||
:100DD000F801808584FFF6CFD6018D919C91892BF7
|
||||
:100DE00051F6F50180819181892B29F64FE76FE754
|
||||
:100DF000CE0101960E94E00880913B2081110BC03A
|
||||
:100E000085E390E20E94090A60E070E085E390E2E9
|
||||
:100E10000E9467090EC080913B20813051F485E328
|
||||
:100E200090E20E94090A61E070E085E390E20E948E
|
||||
:100E300067091092282080E880934606D701119612
|
||||
:100E40008C91119785FFFACF8FEF8C93F7018181F9
|
||||
:100E500085FFFCCFD80118968C9183FD02C083E0FA
|
||||
:100E600001C082E0F7018083D70111968C91119720
|
||||
:100E700085FFFACF8FEF8C9310922520809121204F
|
||||
:100E800090912220A0912320B091242080931D20B6
|
||||
:100E900090931E20A0931F20B0932020A1CE1F92DC
|
||||
:100EA0000F920FB60F9211248F939F93AF93BF931E
|
||||
:100EB0008091212090912220A0912320B091242084
|
||||
:100EC0000196A11DB11D8093212090932220A09313
|
||||
:100ED0002320B0932420BF91AF919F918F910F90C9
|
||||
:100EE0000FBE0F901F90189584E590E20E94960720
|
||||
:100EF0008CE390E20E94960785E390E20E945A09F3
|
||||
:100F000089E290E20E94C507089589E290E20E947A
|
||||
:100F1000D90785E390E20E9466098CE390E20E9483
|
||||
:100F2000B40784E590E20E94B4070895FC011282A0
|
||||
:100F3000138285E090E0808391834DEC5CEC6CE45F
|
||||
:100F40007EE3448355836683778340E050E060E42A
|
||||
:100F50007FE3408751876287738784E690E08487C8
|
||||
:100F60009587168617860895089521E030E0FC01E4
|
||||
:100F7000268737870895FC01168617860895FC0199
|
||||
:100F8000448B558B668B778B0895FC0140E050E0D5
|
||||
:100F90006FE773E4448355836683778340E050E0D2
|
||||
:100FA00060E87FEB408351836283738310861186F0
|
||||
:100FB00008950895CF93DF93EC0181E0E0E6F6E039
|
||||
:100FC000868360E070E020E0E0E0F6E0A0E6B6E0D6
|
||||
:100FD00031E052E0808584FFFDCF808582FF10C024
|
||||
:100FE000211110C015963C9315972FEF4FE285E71E
|
||||
:100FF000215040408040E1F700C00000232F02C094
|
||||
:10100000222341F06F5F7F4F673971051CF08085A7
|
||||
:1010100082FD13C016965C9316978FEB92E10197B1
|
||||
:10102000F1F700C0000015965C9315978FEB92E1E5
|
||||
:101030000197F1F700C00000CDCF82E0E0E6F6E0D6
|
||||
:1010400086838FEB92E10197F1F700C0000082E008
|
||||
:1010500085838FEB92E10197F1F700C000001886BD
|
||||
:101060001986882777FD8095982F0E945B0B2C812D
|
||||
:101070003D814E815F810E94C00A688379838A83A3
|
||||
:101080009B839FEF2FE245E7915020404040E1F7DE
|
||||
:1010900000C00000DF91CF910895CF93DF93EC0162
|
||||
:1010A000CB01181619062CF421E0E0E6F6E02683C1
|
||||
:1010B00004C021E0E0E6F6E02583BC01992324F496
|
||||
:1010C00066277727681B790B882777FD8095982FEF
|
||||
:1010D0000E945B0B288139814A815B810E94EB0B66
|
||||
:1010E0000E94280B1616170604F580E090E0E0E059
|
||||
:1010F000F6E0A0E6B6E032E0208524FFFDCF1696AC
|
||||
:101100003C931697CFE7DCE02197F1F700C0000091
|
||||
:1011100015963C931597CFE9DFE02197F1F700C0D2
|
||||
:10112000000001968617970739F7DF91CF91089550
|
||||
:10113000CF92DF92EF92FF92CF93DF93EC0188275B
|
||||
:1011400077FD8095982F0E945B0B29E23CE540E1FA
|
||||
:1011500052E40E945C0A0E94280B6B017C01888586
|
||||
:101160009985B601681B790BCE010E944D08C8868F
|
||||
:10117000D986DF91CF91FF90EF90DF90CF900895C7
|
||||
:10118000DC01ED91FC911197818185FFFDCF80E815
|
||||
:101190008083ED91FC911197818185FFFDCF608364
|
||||
:1011A000ED91FC911197818185FFFDCF4083ED91F9
|
||||
:1011B000FC91818185FFFDCF640F6F776083089577
|
||||
:1011C0000F931F93CF93DF93EC01842F6F3761F060
|
||||
:1011D0006F3720F44FE7461B61E00BC066233CF4F9
|
||||
:1011E00041E8460F60E005C040E060E002C040E03A
|
||||
:1011F00060E08F3761F08F3720F40FE7081B15E0B0
|
||||
:101200000BC088233CF401E8080F14E005C000E09F
|
||||
:1012100014E002C000E014E0CE010E94C008402F9C
|
||||
:10122000612FCE010E94C008DF91CF911F910F91D5
|
||||
:101230000895CF93DF93EC0140E060E00E94C00886
|
||||
:1012400040E064E0CE010E94C008DF91CF91089594
|
||||
:10125000CF93DF93EC01688379834A835B8388E0D3
|
||||
:10126000FA018183E881F98183E08583E881F9814E
|
||||
:101270008FEC8683E881F9811782E881F981848186
|
||||
:1012800088608483FFEF23EC89E0F15020408040A8
|
||||
:10129000E1F700C00000E881F9818AEA808344E137
|
||||
:1012A0006EE0CE010E94C008CE010E941909DF91B4
|
||||
:1012B000CF910895FC01108211828FEF9FEF8283FE
|
||||
:1012C000938381E090E08483958308950895CF937C
|
||||
:1012D000DF93EC0128813981232B09F497C0623018
|
||||
:1012E000710508F093C02A813B812617370709F45E
|
||||
:1012F0008DC06A837B836115710529F420E1E0E6E6
|
||||
:10130000F6E0258307C06130710521F420E1E0E6B5
|
||||
:10131000F6E02683FC0124813581232B11F520E1A1
|
||||
:1013200037E2E0E0F6E0A0E6B6E050E2408544FFB8
|
||||
:10133000FDCF15965C931597CFE8D1E02197F1F793
|
||||
:1013400000C0000016965C931697CFE9DFE0219766
|
||||
:10135000F1F700C00000215031092115310531F7A6
|
||||
:1013600003C0FC01148215826115710531F548EA4C
|
||||
:1013700052ED62E070E0E0E0F6E0A0E6B6E030E2D8
|
||||
:10138000208524FFFDCF15963C93159725ED2A95D2
|
||||
:10139000F1F7000016963C931697CFE3D1E0219722
|
||||
:1013A000F1F700C000004150510961097109411570
|
||||
:1013B00051056105710521F726C06130710519F5E8
|
||||
:1013C000E0E2F6E0208523FD1EC0E0E0F6E0A0E6C6
|
||||
:1013D000B6E050E260E276E0408544FFFDCF15962E
|
||||
:1013E0005C931597D5EDDA95F1F7000016965C93AE
|
||||
:1013F0001697CFE3D1E02197F1F700C00000EB0191
|
||||
:10140000488543FFE9CFFC0110821182DF91CF9123
|
||||
:10141000089521E030E0FC01208331830895FC0130
|
||||
:101420006083718342831486138616861586089519
|
||||
:10143000FC012385948581E0291301C080E0089593
|
||||
:10144000FC018485DF01A80FB11D13968C91948552
|
||||
:101450009F5F937094870895FC0183858F5F8370ED
|
||||
:101460009485A081B1812C91891749F09385DF0182
|
||||
:10147000A90FB11D13962C93838781E0089580E016
|
||||
:101480000895FC0186859585981307C00190F08129
|
||||
:10149000E02D83818C7F838308958685DF01A80FEB
|
||||
:1014A000B11D17968C91A081B1818C9386858F5F39
|
||||
:1014B0008370868708955058BB27AA270ED04DC148
|
||||
:1014C0003ED130F043D120F031F49F3F11F41EF4AF
|
||||
:1014D00033C10EF4E095E7FB29C1E92F4FD180F32A
|
||||
:1014E000BA17620773078407950718F071F49EF521
|
||||
:1014F00067C10EF4E0950B2EBA2FA02D0B01B90198
|
||||
:1015000090010C01CA01A0011124FF27591B99F079
|
||||
:10151000593F50F4503E68F11A16F040A22F232F85
|
||||
:10152000342F4427585FF3CF469537952795A795D5
|
||||
:10153000F0405395C9F77EF41F16BA0B620B730B7C
|
||||
:10154000840BBAF09150A1F0FF0FBB1F661F771FED
|
||||
:10155000881FC2F70EC0BA0F621F731F841F48F4A2
|
||||
:10156000879577956795B795F7959E3F08F0B3CF28
|
||||
:101570009395880F08F09927EE0F97958795089512
|
||||
:101580000CD0EBC0E3D040F0DAD030F021F45F3F74
|
||||
:1015900019F0CCC0511115C1CFC0F0D098F39923E8
|
||||
:1015A000C9F35523B1F3951B550BBB27AA27621727
|
||||
:1015B0007307840738F09F5F5F4F220F331F441F6C
|
||||
:1015C000AA1FA9F333D00E2E3AF0E0E830D09150A4
|
||||
:1015D0005040E695001CCAF729D0FE2F27D0660F91
|
||||
:1015E000771F881FBB1F261737074807AB07B0E8D0
|
||||
:1015F00009F0BB0B802DBF01FF2793585F4F2AF0E6
|
||||
:101600009E3F510568F092C0DCC05F3FECF3983E0E
|
||||
:10161000DCF3869577956795B795F7959F5FC9F742
|
||||
:10162000880F911D9695879597F90895E1E0660FCB
|
||||
:10163000771F881FBB1F621773078407BA0720F044
|
||||
:10164000621B730B840BBA0BEE1F88F7E0950895AD
|
||||
:1016500004D06894B111B5C0089598D088F09F5710
|
||||
:1016600090F0B92F9927B751A0F0D1F0660F771FEE
|
||||
:10167000881F991F1AF0BA95C9F712C0B13081F0CE
|
||||
:101680009FD0B1E008959CC0672F782F8827B85F5E
|
||||
:1016900039F0B93FCCF3869577956795B395D9F72F
|
||||
:1016A0003EF490958095709561957F4F8F4F9F4F39
|
||||
:1016B0000895E89409C097FB3EF490958095709545
|
||||
:1016C00061957F4F8F4F9F4F9923A9F0F92F96E98E
|
||||
:1016D000BB279395F695879577956795B795F11103
|
||||
:1016E000F8CFFAF4BB0F11F460FF1BC06F5F7F4FA0
|
||||
:1016F0008F4F9F4F16C0882311F096E911C07723B2
|
||||
:1017000021F09EE8872F762F05C0662371F096E8BA
|
||||
:10171000862F70E060E02AF09A95660F771F881F89
|
||||
:10172000DAF7880F9695879597F9089597F99F6747
|
||||
:1017300080E870E060E008959FEF80EC0895002459
|
||||
:101740000A941616170618060906089500240A9426
|
||||
:1017500012161306140605060895092E0394000CAC
|
||||
:1017600011F4882352F0BB0F40F4BF2B11F460FF3B
|
||||
:1017700004C06F5F7F4F8F4F9F4F089557FD905864
|
||||
:10178000440F551F59F05F3F71F04795880F97FB45
|
||||
:10179000991F61F09F3F79F08795089512161306FF
|
||||
:1017A0001406551FF2CF4695F1DF08C0161617062E
|
||||
:1017B0001806991FF1CF8695710561050894089563
|
||||
:1017C000E894BB2766277727CB0197F9089566D061
|
||||
:1017D00008F48FEF08950BD0C0CFB1DF28F0B6DF4B
|
||||
:1017E00018F0952309F0A2CFA7CF1124EACFC6DFC6
|
||||
:1017F000A0F3959FD1F3950F50E0551F629FF00124
|
||||
:10180000729FBB27F00DB11D639FAA27F00DB11D7C
|
||||
:10181000AA1F649F6627B00DA11D661F829F222705
|
||||
:10182000B00DA11D621F739FB00DA11D621F839F8C
|
||||
:10183000A00D611D221F749F3327A00D611D231F62
|
||||
:10184000849F600D211D822F762F6A2F11249F57B0
|
||||
:1018500050408AF0E1F088234AF0EE0FFF1FBB1FD3
|
||||
:10186000661F771F881F91505040A9F79E3F510572
|
||||
:1018700070F05CCFA6CF5F3FECF3983EDCF386952B
|
||||
:1018800077956795B795F795E7959F5FC1F7FE2B1D
|
||||
:10189000880F911D9695879597F90895990F0008DF
|
||||
:1018A000550FAA0BE0E8FEEF16161706E807F90732
|
||||
:1018B000C0F012161306E407F50798F0621B730BCD
|
||||
:1018C000840B950B39F40A2661F0232B242B252B4E
|
||||
:1018D00021F408950A2609F4A140A6958FEF811DF1
|
||||
:1018E000811D089597FB072E16F4009407D077FD0D
|
||||
:1018F00009D00E94860C07FC05D03EF49095819596
|
||||
:101900009F4F0895709561957F4F0895AA1BBB1B4B
|
||||
:1019100051E107C0AA1FBB1FA617B70710F0A61BEF
|
||||
:10192000B70B881F991F5A95A9F780959095BC0110
|
||||
:10193000CD010895EE0FFF1F0590F491E02D09945D
|
||||
:1019400011E0CEE6D1E004C0FE010E949C0C22967C
|
||||
:0A195000C037D107C9F7F894FFCFA4
|
||||
:10195A0049443A2041726D436F6E74726F6C0D0A7E
|
||||
:02196A0000007B
|
||||
:00000001FF
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,410 @@
|
||||
S012000041726D436F6E74726F6C2E7372656311
|
||||
S11300000C94B8000C94E0000C94E0000C94E00014
|
||||
S11300100C94E0000C94E0000C94E0000C94E000DC
|
||||
S11300200C94E0000C94E0000C94E0000C94E000CC
|
||||
S11300300C94E0000C94E0000C94E0000C94E000BC
|
||||
S11300400C94E0000C94E0000C94E0000C94E000AC
|
||||
S11300500C94E0000C94E0000C94E0000C94E0009C
|
||||
S11300600C94E0000C944D010C9419020C94E000E3
|
||||
S11300700C94E0000C94E0000C94E0000C94E0007C
|
||||
S11300800C94E0000C94E0000C94E0000C94E0006C
|
||||
S11300900C94E0000C94E0000C94E0000C94E0005C
|
||||
S11300A00C94E0000C94E0000C94E0000C94E0004C
|
||||
S11300B00C94E0000C94E0000C94E0000C94E0003C
|
||||
S11300C00C94E0000C94E0000C94E0000C94E0002C
|
||||
S11300D00C94E0000C94E0000C94E0000C94E0001C
|
||||
S11300E00C94E0000C94E0000C94E0000C94E0000C
|
||||
S11300F00C94E0000C94E0000C94E0000C94E000FC
|
||||
S11301000C94E0000C94E0000C94E0000C94E000EB
|
||||
S11301100C94E0000C94E0000C94E0000C94E000DB
|
||||
S11301200C94E0000C94E0000C94E0000C94E000CB
|
||||
S11301300C94E0000C944F070C94E0000C94E00045
|
||||
S11301400C94E0000C94E0000C94E0000C94E000AB
|
||||
S11301500C94E0000C94E0000C94E0000C94E0009B
|
||||
S11301600C94E0000C94E0000C94E0007407850704
|
||||
S113017011241FBECFEFCDBFDFE2DEBF10E2A0E04F
|
||||
S1130180B0E2EAE5F9E102C005900D92A231B107AF
|
||||
S1130190D9F720E2A2E1B0E201C01D92AB37B20769
|
||||
S11301A0E1F711E0CEE6D1E004C02297FE010E94FF
|
||||
S11301B09C0CCC36D107C9F70E9436050C94A00CD0
|
||||
S11301C00C940000AAECB1E022E02C93FC01849191
|
||||
S11301D01C9208950F931F93CF93DF93182F062F2C
|
||||
S11301E08091000280FD1BC0C0E0D2E081E08883E2
|
||||
S11301F084E0898380E18A831B8286E08C8380E2A9
|
||||
S113020090E00E94E2008C8781E290E00E94E2008C
|
||||
S11302108D878FE79CE00197F1F700C00000E0E0D4
|
||||
S1130220F2E000A3110F110F110F11A312A280A16C
|
||||
S1130230806880A386818823E9F3E0E0F2E0868188
|
||||
S1130240868380A1806880A386818823E9F3E0E027
|
||||
S1130250F2E08681868380899189DF91CF911F9115
|
||||
S11302600F910895E0E0F9E087E08083118282E154
|
||||
S11302709AE786A397A381E086830895CF93DF93BB
|
||||
S1130280EC0103C0CE010E94200ACE010E94180A8C
|
||||
S11302908111F8CFDF91CF9108951F920F920FB67D
|
||||
S11302A00F9211242F933F934F935F936F937F93F8
|
||||
S11302B08F939F93AF93BF93CF93DF93EF93FF936A
|
||||
S11302C08CE690E20E942C0A8CE690E20E94180AC6
|
||||
S11302D0882379F0C0912520D0E08CE690E20E943A
|
||||
S11302E0200ACD5EDF4D8883809125208F5F809327
|
||||
S11302F02520809125208A3009F088C08CE690E280
|
||||
S11303000E943E0190911B20809114207091152031
|
||||
S11303106091162050911720409118203091192097
|
||||
S113032020911A20872786278527842783278227D9
|
||||
S1130330981353C0E4E1F0E2808183FB882780F9BD
|
||||
S11303408093262080818470809327208081C1E05F
|
||||
S1130350869581708C2780933B2020911620809174
|
||||
S1130360152090E0820F911D8093332090933420C8
|
||||
S1130370809118206091172070E0680F711D882704
|
||||
S113038077FD8095982F0E945B0B20E030E048ECCD
|
||||
S113039052E40E94C00AAB01BC0184E590E20E94D1
|
||||
S11303A0BF0780911A206091192070E0680F711DB9
|
||||
S11303B0882777FD8095982F0E945B0B20E030E022
|
||||
S11303C048EC52E40E94C00AAB01BC018CE390E209
|
||||
S11303D00E94BF07C093282019C0E0EAF8E0818199
|
||||
S11303E085FFFDCF8FEF8093A008E0EAF8E08181DC
|
||||
S11303F085FFFDCF1092A008E0EAF8E0818185FF37
|
||||
S1130400FDCF8FEF8093A00810922520FF91EF91EC
|
||||
S1130410DF91CF91BF91AF919F918F917F916F9118
|
||||
S11304205F914F913F912F910F900FBE0F901F90AE
|
||||
S113043018951F920F920FB60F9211242F933F938A
|
||||
S11304404F935F936F937F938F939F93AF93BF93D8
|
||||
S1130450EF93FF938CE690E20E94410AFF91EF91A3
|
||||
S1130460BF91AF919F918F917F916F915F914F91C8
|
||||
S11304703F912F910F900FBE0F901F90189588ED0C
|
||||
S113048084BF82E080935000E0E5F0E0818181FF49
|
||||
S1130490FDCF88ED84BF91E09093400084BFE0E5F8
|
||||
S11304A0F0E0808184608083818182FFFDCFE0E57C
|
||||
S11304B0F0E086818D7F8683E0E6F0E080818160D4
|
||||
S11304C080830895E0E4F6E088E0818384E0828319
|
||||
S11304D041E060EA78E08CE690E20E940F0AE09145
|
||||
S11304E06C20F0916D2083E0858383818F7C806113
|
||||
S11304F08383A0EAB8E08FEC16968C931697179630
|
||||
S11305001C92848180618483848188608483E0EA8E
|
||||
S1130510F0E08281816082830895CF93DF930E940B
|
||||
S11305203F020E9462020E94320180EEE0E4F6E0A3
|
||||
S11305308183A0E6B6E09FEF11969C931197E0E0CB
|
||||
S1130540F6E08183C0E2D6E087E0898384E0828399
|
||||
S113055098E092839A8320E1228398E1938B9B8B8A
|
||||
S113056030E416963C93169790E29683368330E8EF
|
||||
S1130570358316962C93169716969C931697169673
|
||||
S11305808C93169721E02D8392E09D838E8316969B
|
||||
S11305902C93169716969C937894DF91CF91089597
|
||||
S11305A0FC012081222359F0DC011196E0EAF8E0F5
|
||||
S11305B0818185FFFDCF20832D912111F9CF0895ED
|
||||
S11305C0EF92FF920F931F93CF93DF938C01C7E0B9
|
||||
S11305D0D0E0E12CF12C0115110539F461E081E042
|
||||
S11305E00E94EA00E80EF91E09C00130110531F439
|
||||
S11305F061E080E00E94EA00E80EF91E8FE39FE1CB
|
||||
S11306000197F1F700C000002197209721F7C70157
|
||||
S113061067E070E00E94720CCB01DF91CF911F91D3
|
||||
S11306200F91FF90EF900895CF92DF92EF92FF9297
|
||||
S1130630209168203091692040916A2050916B206C
|
||||
S1130640609164207091652080916620909167206C
|
||||
S11306500E945B0A6B017C0120E030E0A9010E944A
|
||||
S1130660E70B181624F0F7FAF094F7F8F094A701C2
|
||||
S11306709601609158207091592080915A20909150
|
||||
S11306805B200E94E70B181644F4E6E5F0E2808153
|
||||
S1130690918101968083918304C010925620109218
|
||||
S11306A05720209150203091512040915220509158
|
||||
S11306B0532060914C2070914D2080914E20909158
|
||||
S11306C04F200E945B0A6B017C0120E030E0A9010D
|
||||
S11306D00E94E70B181624F0F7FAF094F7F8F09458
|
||||
S11306E0A7019601609140207091412080914220A1
|
||||
S11306F0909143200E94E70B181644F4EEE3F0E2D5
|
||||
S11307008081918101968083918304C010923E2060
|
||||
S113071010923F2020913E2030913F2080913C2038
|
||||
S113072090913D202817390724F08CE390E20E9431
|
||||
S1130730BB07209156203091572080913C20909106
|
||||
S11307403D202817390724F084E590E20E94BB0776
|
||||
S113075080E090E00E94E002BC01882777FD80954C
|
||||
S1130760982F0E945B0B2FE135E848E652E40E9483
|
||||
S1130770C00A25E83BEE41ED5EE30E945B0A60930C
|
||||
S1130780642070936520809366209093672081E0B5
|
||||
S113079090E00E94E002BC01882777FD8095982FA5
|
||||
S11307A00E945B0B2FE135E848E652E40E94C00A40
|
||||
S11307B025E83BEE41ED5EE30E945B0A60934C202A
|
||||
S11307C070934D2080934E2090934F20FF90EF9094
|
||||
S11307D0DF90CF9008954F925F926F927F928F92A5
|
||||
S11307E09F92AF92BF92CF92DF92EF92FF920097C7
|
||||
S11307F009F071C04090642050906520609066209C
|
||||
S113080070906720209168203091692040916A207F
|
||||
S113081050916B20C301B2010E945B0A6B017C0101
|
||||
S113082020E030E0A9010E94E70B181624F0F7FA43
|
||||
S1130830F094F7F8F09480905C2090905D20A09064
|
||||
S11308405E20B0905F2020E030E040E05FE3C5012F
|
||||
S1130850B4010E94EB0BA70196010E94E70B181646
|
||||
S113086054F4809160209091612063E070E00E94D4
|
||||
S1130870720CCB01A6C02091682030916920409170
|
||||
S11308806A2050916B20C301B2010E945B0A6B0184
|
||||
S11308907C0120E030E0A9010E94E70B181624F047
|
||||
S11308A0F7FAF094F7F8F094A7019601C501B401A2
|
||||
S11308B00E94E70B181654F48091602090916120F7
|
||||
S11308C099230CF40196959587957BC080916020BF
|
||||
S11308D09091612076C0019709F071C040904C203E
|
||||
S11308E050904D2060904E2070904F2020915020C9
|
||||
S11308F0309151204091522050915320C301B201B4
|
||||
S11309000E945B0A6B017C0120E030E0A9010E9497
|
||||
S1130910E70B181624F0F7FAF094F7F8F0948090A7
|
||||
S1130920442090904520A0904620B090472020E09D
|
||||
S113093030E040E05FE3C501B4010E94EB0BA70186
|
||||
S113094096010E94E70B181654F480914820909168
|
||||
S1130950492063E070E00E94720CCB0132C0209108
|
||||
S11309605020309151204091522050915320C30186
|
||||
S1130970B2010E945B0A6B017C0120E030E0A90116
|
||||
S11309800E94E70B181624F0F7FAF094F7F8F094A5
|
||||
S1130990A7019601C501B4010E94E70B181654F48F
|
||||
S11309A0809148209091492099230CF401969595C3
|
||||
S11309B0879507C0809148209091492002C080E02B
|
||||
S11309C090E0FF90EF90DF90CF90BF90AF909F901A
|
||||
S11309D08F907F906F905F904F9008950097F1F4FF
|
||||
S11309E08091622090916320009709F43EC0209189
|
||||
S11309F068203091692040916A2050916B20609169
|
||||
S1130A0064207091652080916620909167200E94F7
|
||||
S1130A10E70B181614F58FEF9FEF0895019701F572
|
||||
S1130A2080914A2090914B200097F9F0209150201A
|
||||
S1130A3030915120409152205091532060914C208C
|
||||
S1130A4070914D2080914E2090914F200E94E70B91
|
||||
S1130A5018164CF48FEF9FEF089581E090E008950D
|
||||
S1130A6080E090E0089581E090E00895CF93DF93D3
|
||||
S1130A7000D000D0CDB7DEB70E948D022FEF87EAF9
|
||||
S1130A8091E6215080409040E1F700C0000040E62C
|
||||
S1130A9056E060EA79E0CE0101960E94280980E0E0
|
||||
S1130AA090E0A0E4B0E48093502090935120A09370
|
||||
S1130AB05220B093532080E090E0A0E6B0E480930D
|
||||
S1130AC0682090936920A0936A20B0936B20E0E0A3
|
||||
S1130AD0F6E0808584FFFDCF84E590E20E94B507AF
|
||||
S1130AE08CE390E20E94B5070F2EF2E6CF2EF0E2DF
|
||||
S1130AF0DF2EF02D0F2EFAE4EF2EF0E2FF2EF02D74
|
||||
S1130B0000E016E031C00E94140381E090E00E94EE
|
||||
S1130B10EB03A82E81E090E00E94EE04982E80E082
|
||||
S1130B2090E00E94EB03B82E80E090E00E94EE0477
|
||||
S1130B309A9C402D112441588B9D802D11246FE7E0
|
||||
S1130B40680FCE0101960E94E008D80118968C9196
|
||||
S1130B5084FD0AC04FE76FE7CE0101960E94E008CA
|
||||
S1130B60F801808584FFF6CFD6018D919C91892B65
|
||||
S1130B7051F6F70180819181892B29F689E290E26F
|
||||
S1130B800E94DA0781E0E0E6F6E0868360E070E048
|
||||
S1130B9089E290E20E94980885E390E20E94090AA3
|
||||
S1130BA061E070E085E390E20E9467090F2EF0EAAD
|
||||
S1130BB0EF2EF8E0FF2EF02D00E016E00F2EF2E607
|
||||
S1130BC0CF2EF0E2DF2EF02D0F2EFAE4AF2EF0E25E
|
||||
S1130BD0BF2EF02D412C512C6894662466F8762C97
|
||||
S1130BE08091122081112FC080E090E20E94D002F7
|
||||
S1130BF0FFEF23ED80E3F15020408040E1F700C097
|
||||
S1130C000000809113208237D9F481E08093122070
|
||||
S1130C10D70111968C91119785FFFACF82E78C93B7
|
||||
S1130C208091212090912220A0912320B091242012
|
||||
S1130C3080931D2090931E20A0931F20B09320200A
|
||||
S1130C4010922520CDCF813059F680912820882319
|
||||
S1130C5039F280912620882309F477C040925020ED
|
||||
S1130C6050925120609252207092532080E090E084
|
||||
S1130C70A0E6B0E48093682090936920A0936A2052
|
||||
S1130C80B0936B2084E590E20E94B5078CE390E278
|
||||
S1130C900E94B50731C00E94140381E090E00E94D5
|
||||
S1130CA0EB03882E81E090E00E94EE04382E80E071
|
||||
S1130CB090E00E94EB03982E80E090E00E94EE0406
|
||||
S1130CC0389C402D11244158899D802D11246FE7B3
|
||||
S1130CD0680FCE0101960E94E008D80118968C9105
|
||||
S1130CE084FD0AC04FE76FE7CE0101960E94E00839
|
||||
S1130CF0F801808584FFF6CFD6018D919C91892BD4
|
||||
S1130D0051F6F50180819181892B29F689E290E2DF
|
||||
S1130D100E94DA0781E0E0E6F6E0868360E070E0B6
|
||||
S1130D2089E290E20E94980880913B20882351F048
|
||||
S1130D3085E390E20E94090A61E070E085E390E2B5
|
||||
S1130D400E9467091092262074C080E880934506AB
|
||||
S1130D5084E590E20E94B5078CE390E20E94B50717
|
||||
S1130D60609133207091342089E290E20E949808C7
|
||||
S1130D700E94140331C00E94140380E090E00E949A
|
||||
S1130D80EB03882E81E090E00E94EE04382E80E090
|
||||
S1130D9090E00E94EB03982E80E090E00E94EE0425
|
||||
S1130DA0389C402D11244158899D802D11246FE7D2
|
||||
S1130DB0680FCE0101960E94E008D80118968C9124
|
||||
S1130DC084FD0AC04FE76FE7CE0101960E94E00858
|
||||
S1130DD0F801808584FFF6CFD6018D919C91892BF3
|
||||
S1130DE051F6F50180819181892B29F64FE76FE750
|
||||
S1130DF0CE0101960E94E00880913B2081110BC036
|
||||
S1130E0085E390E20E94090A60E070E085E390E2E5
|
||||
S1130E100E9467090EC080913B20813051F485E324
|
||||
S1130E2090E20E94090A61E070E085E390E20E948A
|
||||
S1130E3067091092282080E880934606D70111960E
|
||||
S1130E408C91119785FFFACF8FEF8C93F7018181F5
|
||||
S1130E5085FFFCCFD80118968C9183FD02C083E0F6
|
||||
S1130E6001C082E0F7018083D70111968C9111971C
|
||||
S1130E7085FFFACF8FEF8C9310922520809121204B
|
||||
S1130E8090912220A0912320B091242080931D20B2
|
||||
S1130E9090931E20A0931F20B0932020A1CE1F92D8
|
||||
S1130EA00F920FB60F9211248F939F93AF93BF931A
|
||||
S1130EB08091212090912220A0912320B091242080
|
||||
S1130EC00196A11DB11D8093212090932220A0930F
|
||||
S1130ED02320B0932420BF91AF919F918F910F90C5
|
||||
S1130EE00FBE0F901F90189584E590E20E9496071C
|
||||
S1130EF08CE390E20E94960785E390E20E945A09EF
|
||||
S1130F0089E290E20E94C507089589E290E20E9476
|
||||
S1130F10D90785E390E20E9466098CE390E20E947F
|
||||
S1130F20B40784E590E20E94B4070895FC0112829C
|
||||
S1130F30138285E090E0808391834DEC5CEC6CE45B
|
||||
S1130F407EE3448355836683778340E050E060E426
|
||||
S1130F507FE3408751876287738784E690E08487C4
|
||||
S1130F609587168617860895089521E030E0FC01E0
|
||||
S1130F70268737870895FC01168617860895FC0195
|
||||
S1130F80448B558B668B778B0895FC0140E050E0D1
|
||||
S1130F906FE773E4448355836683778340E050E0CE
|
||||
S1130FA060E87FEB408351836283738310861186EC
|
||||
S1130FB008950895CF93DF93EC0181E0E0E6F6E035
|
||||
S1130FC0868360E070E020E0E0E0F6E0A0E6B6E0D2
|
||||
S1130FD031E052E0808584FFFDCF808582FF10C020
|
||||
S1130FE0211110C015963C9315972FEF4FE285E71A
|
||||
S1130FF0215040408040E1F700C00000232F02C090
|
||||
S1131000222341F06F5F7F4F673971051CF08085A3
|
||||
S113101082FD13C016965C9316978FEB92E10197AD
|
||||
S1131020F1F700C0000015965C9315978FEB92E1E1
|
||||
S11310300197F1F700C00000CDCF82E0E0E6F6E0D2
|
||||
S113104086838FEB92E10197F1F700C0000082E004
|
||||
S113105085838FEB92E10197F1F700C000001886B9
|
||||
S11310601986882777FD8095982F0E945B0B2C8129
|
||||
S11310703D814E815F810E94C00A688379838A839F
|
||||
S11310809B839FEF2FE245E7915020404040E1F7DA
|
||||
S113109000C00000DF91CF910895CF93DF93EC015E
|
||||
S11310A0CB01181619062CF421E0E0E6F6E02683BD
|
||||
S11310B004C021E0E0E6F6E02583BC01992324F492
|
||||
S11310C066277727681B790B882777FD8095982FEB
|
||||
S11310D00E945B0B288139814A815B810E94EB0B62
|
||||
S11310E00E94280B1616170604F580E090E0E0E055
|
||||
S11310F0F6E0A0E6B6E032E0208524FFFDCF1696A8
|
||||
S11311003C931697CFE7DCE02197F1F700C000008D
|
||||
S113111015963C931597CFE9DFE02197F1F700C0CE
|
||||
S1131120000001968617970739F7DF91CF9108954C
|
||||
S1131130CF92DF92EF92FF92CF93DF93EC01882757
|
||||
S113114077FD8095982F0E945B0B29E23CE540E1F6
|
||||
S113115052E40E945C0A0E94280B6B017C01888582
|
||||
S11311609985B601681B790BCE010E944D08C8868B
|
||||
S1131170D986DF91CF91FF90EF90DF90CF900895C3
|
||||
S1131180DC01ED91FC911197818185FFFDCF80E811
|
||||
S11311908083ED91FC911197818185FFFDCF608360
|
||||
S11311A0ED91FC911197818185FFFDCF4083ED91F5
|
||||
S11311B0FC91818185FFFDCF640F6F776083089573
|
||||
S11311C00F931F93CF93DF93EC01842F6F3761F05C
|
||||
S11311D06F3720F44FE7461B61E00BC066233CF4F5
|
||||
S11311E041E8460F60E005C040E060E002C040E036
|
||||
S11311F060E08F3761F08F3720F40FE7081B15E0AC
|
||||
S11312000BC088233CF401E8080F14E005C000E09B
|
||||
S113121014E002C000E014E0CE010E94C008402F98
|
||||
S1131220612FCE010E94C008DF91CF911F910F91D1
|
||||
S11312300895CF93DF93EC0140E060E00E94C00882
|
||||
S113124040E064E0CE010E94C008DF91CF91089590
|
||||
S1131250CF93DF93EC01688379834A835B8388E0CF
|
||||
S1131260FA018183E881F98183E08583E881F9814A
|
||||
S11312708FEC8683E881F9811782E881F981848182
|
||||
S113128088608483FFEF23EC89E0F15020408040A4
|
||||
S1131290E1F700C00000E881F9818AEA808344E133
|
||||
S11312A06EE0CE010E94C008CE010E941909DF91B0
|
||||
S11312B0CF910895FC01108211828FEF9FEF8283FA
|
||||
S11312C0938381E090E08483958308950895CF9378
|
||||
S11312D0DF93EC0128813981232B09F497C0623014
|
||||
S11312E0710508F093C02A813B812617370709F45A
|
||||
S11312F08DC06A837B836115710529F420E1E0E6E2
|
||||
S1131300F6E0258307C06130710521F420E1E0E6B1
|
||||
S1131310F6E02683FC0124813581232B11F520E19D
|
||||
S113132037E2E0E0F6E0A0E6B6E050E2408544FFB4
|
||||
S1131330FDCF15965C931597CFE8D1E02197F1F78F
|
||||
S113134000C0000016965C931697CFE9DFE0219762
|
||||
S1131350F1F700C00000215031092115310531F7A2
|
||||
S113136003C0FC01148215826115710531F548EA48
|
||||
S113137052ED62E070E0E0E0F6E0A0E6B6E030E2D4
|
||||
S1131380208524FFFDCF15963C93159725ED2A95CE
|
||||
S1131390F1F7000016963C931697CFE3D1E021971E
|
||||
S11313A0F1F700C00000415051096109710941156C
|
||||
S11313B051056105710521F726C06130710519F5E4
|
||||
S11313C0E0E2F6E0208523FD1EC0E0E0F6E0A0E6C2
|
||||
S11313D0B6E050E260E276E0408544FFFDCF15962A
|
||||
S11313E05C931597D5EDDA95F1F7000016965C93AA
|
||||
S11313F01697CFE3D1E02197F1F700C00000EB018D
|
||||
S1131400488543FFE9CFFC0110821182DF91CF911F
|
||||
S1131410089521E030E0FC01208331830895FC012C
|
||||
S11314206083718342831486138616861586089515
|
||||
S1131430FC012385948581E0291301C080E008958F
|
||||
S1131440FC018485DF01A80FB11D13968C9194854E
|
||||
S11314509F5F937094870895FC0183858F5F8370E9
|
||||
S11314609485A081B1812C91891749F09385DF017E
|
||||
S1131470A90FB11D13962C93838781E0089580E012
|
||||
S11314800895FC0186859585981307C00190F08125
|
||||
S1131490E02D83818C7F838308958685DF01A80FE7
|
||||
S11314A0B11D17968C91A081B1818C9386858F5F35
|
||||
S11314B08370868708955058BB27AA270ED04DC144
|
||||
S11314C03ED130F043D120F031F49F3F11F41EF4AB
|
||||
S11314D033C10EF4E095E7FB29C1E92F4FD180F326
|
||||
S11314E0BA17620773078407950718F071F49EF51D
|
||||
S11314F067C10EF4E0950B2EBA2FA02D0B01B90194
|
||||
S113150090010C01CA01A0011124FF27591B99F075
|
||||
S1131510593F50F4503E68F11A16F040A22F232F81
|
||||
S1131520342F4427585FF3CF469537952795A795D1
|
||||
S1131530F0405395C9F77EF41F16BA0B620B730B78
|
||||
S1131540840BBAF09150A1F0FF0FBB1F661F771FE9
|
||||
S1131550881FC2F70EC0BA0F621F731F841F48F49E
|
||||
S1131560879577956795B795F7959E3F08F0B3CF24
|
||||
S11315709395880F08F09927EE0F9795879508950E
|
||||
S11315800CD0EBC0E3D040F0DAD030F021F45F3F70
|
||||
S113159019F0CCC0511115C1CFC0F0D098F39923E4
|
||||
S11315A0C9F35523B1F3951B550BBB27AA27621723
|
||||
S11315B07307840738F09F5F5F4F220F331F441F68
|
||||
S11315C0AA1FA9F333D00E2E3AF0E0E830D09150A0
|
||||
S11315D05040E695001CCAF729D0FE2F27D0660F8D
|
||||
S11315E0771F881FBB1F261737074807AB07B0E8CC
|
||||
S11315F009F0BB0B802DBF01FF2793585F4F2AF0E2
|
||||
S11316009E3F510568F092C0DCC05F3FECF3983E0A
|
||||
S1131610DCF3869577956795B795F7959F5FC9F73E
|
||||
S1131620880F911D9695879597F90895E1E0660FC7
|
||||
S1131630771F881FBB1F621773078407BA0720F040
|
||||
S1131640621B730B840BBA0BEE1F88F7E0950895A9
|
||||
S113165004D06894B111B5C0089598D088F09F570C
|
||||
S113166090F0B92F9927B751A0F0D1F0660F771FEA
|
||||
S1131670881F991F1AF0BA95C9F712C0B13081F0CA
|
||||
S11316809FD0B1E008959CC0672F782F8827B85F5A
|
||||
S113169039F0B93FCCF3869577956795B395D9F72B
|
||||
S11316A03EF490958095709561957F4F8F4F9F4F35
|
||||
S11316B00895E89409C097FB3EF490958095709541
|
||||
S11316C061957F4F8F4F9F4F9923A9F0F92F96E98A
|
||||
S11316D0BB279395F695879577956795B795F111FF
|
||||
S11316E0F8CFFAF4BB0F11F460FF1BC06F5F7F4F9C
|
||||
S11316F08F4F9F4F16C0882311F096E911C07723AE
|
||||
S113170021F09EE8872F762F05C0662371F096E8B6
|
||||
S1131710862F70E060E02AF09A95660F771F881F85
|
||||
S1131720DAF7880F9695879597F9089597F99F6743
|
||||
S113173080E870E060E008959FEF80EC0895002455
|
||||
S11317400A941616170618060906089500240A9422
|
||||
S113175012161306140605060895092E0394000CA8
|
||||
S113176011F4882352F0BB0F40F4BF2B11F460FF37
|
||||
S113177004C06F5F7F4F8F4F9F4F089557FD905860
|
||||
S1131780440F551F59F05F3F71F04795880F97FB41
|
||||
S1131790991F61F09F3F79F08795089512161306FB
|
||||
S11317A01406551FF2CF4695F1DF08C0161617062A
|
||||
S11317B01806991FF1CF869571056105089408955F
|
||||
S11317C0E894BB2766277727CB0197F9089566D05D
|
||||
S11317D008F48FEF08950BD0C0CFB1DF28F0B6DF47
|
||||
S11317E018F0952309F0A2CFA7CF1124EACFC6DFC2
|
||||
S11317F0A0F3959FD1F3950F50E0551F629FF00120
|
||||
S1131800729FBB27F00DB11D639FAA27F00DB11D78
|
||||
S1131810AA1F649F6627B00DA11D661F829F222701
|
||||
S1131820B00DA11D621F739FB00DA11D621F839F88
|
||||
S1131830A00D611D221F749F3327A00D611D231F5E
|
||||
S1131840849F600D211D822F762F6A2F11249F57AC
|
||||
S113185050408AF0E1F088234AF0EE0FFF1FBB1FCF
|
||||
S1131860661F771F881F91505040A9F79E3F51056E
|
||||
S113187070F05CCFA6CF5F3FECF3983EDCF3869527
|
||||
S113188077956795B795F795E7959F5FC1F7FE2B19
|
||||
S1131890880F911D9695879597F90895990F0008DB
|
||||
S11318A0550FAA0BE0E8FEEF16161706E807F9072E
|
||||
S11318B0C0F012161306E407F50798F0621B730BC9
|
||||
S11318C0840B950B39F40A2661F0232B242B252B4A
|
||||
S11318D021F408950A2609F4A140A6958FEF811DED
|
||||
S11318E0811D089597FB072E16F4009407D077FD09
|
||||
S11318F009D00E94860C07FC05D03EF49095819592
|
||||
S11319009F4F0895709561957F4F0895AA1BBB1B47
|
||||
S113191051E107C0AA1FBB1FA617B70710F0A61BEB
|
||||
S1131920B70B881F991F5A95A9F780959095BC010C
|
||||
S1131930CD010895EE0FFF1F0590F491E02D099459
|
||||
S113194011E0CEE6D1E004C0FE010E949C0C229678
|
||||
S10D1950C037D107C9F7F894FFCFA0
|
||||
S113195A49443A2041726D436F6E74726F6C0D0A7A
|
||||
S105196A000077
|
||||
S9030000FC
|
||||
@@ -0,0 +1,181 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit!
|
||||
################################################################################
|
||||
|
||||
SHELL := cmd.exe
|
||||
RM := rm -rf
|
||||
|
||||
USER_OBJS :=
|
||||
|
||||
LIBS :=
|
||||
PROJ :=
|
||||
|
||||
O_SRCS :=
|
||||
C_SRCS :=
|
||||
S_SRCS :=
|
||||
S_UPPER_SRCS :=
|
||||
OBJ_SRCS :=
|
||||
ASM_SRCS :=
|
||||
PREPROCESSING_SRCS :=
|
||||
OBJS :=
|
||||
OBJS_AS_ARGS :=
|
||||
C_DEPS :=
|
||||
C_DEPS_AS_ARGS :=
|
||||
EXECUTABLES :=
|
||||
OUTPUT_FILE_PATH :=
|
||||
OUTPUT_FILE_PATH_AS_ARGS :=
|
||||
AVR_APP_PATH :=$$$AVR_APP_PATH$$$
|
||||
QUOTE := "
|
||||
ADDITIONAL_DEPENDENCIES:=
|
||||
OUTPUT_FILE_DEP:=
|
||||
LIB_DEP:=
|
||||
|
||||
# Every subdirectory with source files must be described here
|
||||
SUBDIRS :=
|
||||
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
C_SRCS += \
|
||||
../adc.cpp \
|
||||
../ArmControl.cpp \
|
||||
../Misc.cpp \
|
||||
../motorInfo.cpp \
|
||||
../rotateStepper.cpp \
|
||||
../Sabertooth.cpp \
|
||||
../stepperInfo.cpp \
|
||||
../usart_driver.c
|
||||
|
||||
|
||||
PREPROCESSING_SRCS +=
|
||||
|
||||
|
||||
ASM_SRCS +=
|
||||
|
||||
|
||||
OBJS += \
|
||||
adc.o \
|
||||
ArmControl.o \
|
||||
Misc.o \
|
||||
motorInfo.o \
|
||||
rotateStepper.o \
|
||||
Sabertooth.o \
|
||||
stepperInfo.o \
|
||||
usart_driver.o
|
||||
|
||||
OBJS_AS_ARGS += \
|
||||
adc.o \
|
||||
ArmControl.o \
|
||||
Misc.o \
|
||||
motorInfo.o \
|
||||
rotateStepper.o \
|
||||
Sabertooth.o \
|
||||
stepperInfo.o \
|
||||
usart_driver.o
|
||||
|
||||
C_DEPS += \
|
||||
adc.d \
|
||||
ArmControl.d \
|
||||
Misc.d \
|
||||
motorInfo.d \
|
||||
rotateStepper.d \
|
||||
Sabertooth.d \
|
||||
stepperInfo.d \
|
||||
usart_driver.d
|
||||
|
||||
C_DEPS_AS_ARGS += \
|
||||
adc.d \
|
||||
ArmControl.d \
|
||||
Misc.d \
|
||||
motorInfo.d \
|
||||
rotateStepper.d \
|
||||
Sabertooth.d \
|
||||
stepperInfo.d \
|
||||
usart_driver.d
|
||||
|
||||
OUTPUT_FILE_PATH +=ArmControl.elf
|
||||
|
||||
OUTPUT_FILE_PATH_AS_ARGS +=ArmControl.elf
|
||||
|
||||
ADDITIONAL_DEPENDENCIES:=
|
||||
|
||||
OUTPUT_FILE_DEP:= ./makedep.mk
|
||||
|
||||
LIB_DEP+=
|
||||
|
||||
# AVR32/GNU C Compiler
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
./%.o: .././%.c
|
||||
@echo Building file: $<
|
||||
@echo Invoking: AVR8/GNU C Compiler : 4.8.1
|
||||
$(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega32d4 -c -std=gnu99 -Wl,-7u,vfprintf -lprintf_flt -lm -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
|
||||
@echo Finished building: $<
|
||||
|
||||
|
||||
./%.o: .././%.cpp
|
||||
@echo Building file: $<
|
||||
@echo Invoking: AVR8/GNU C Compiler : 4.8.1
|
||||
$(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-g++.exe$(QUOTE) -funsigned-char -funsigned-bitfields -DDEBUG -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=atxmega32d4 -c -Wl,-u,vfprintf -lprintf_flt -lm -v -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
|
||||
@echo Finished building: $<
|
||||
|
||||
|
||||
|
||||
|
||||
# AVR32/GNU Preprocessing Assembler
|
||||
|
||||
|
||||
|
||||
# AVR32/GNU Assembler
|
||||
|
||||
|
||||
|
||||
|
||||
ifneq ($(MAKECMDGOALS),clean)
|
||||
ifneq ($(strip $(C_DEPS)),)
|
||||
-include $(C_DEPS)
|
||||
endif
|
||||
endif
|
||||
|
||||
# Add inputs and outputs from these tool invocations to the build variables
|
||||
|
||||
# All Target
|
||||
all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES)
|
||||
|
||||
$(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP)
|
||||
@echo Building target: $@
|
||||
@echo Invoking: AVR8/GNU Linker : 4.8.1
|
||||
$(QUOTE)C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-g++.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="ArmControl.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atxmega32d4
|
||||
@echo Finished building target: $@
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "ArmControl.elf" "ArmControl.hex"
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "ArmControl.elf" "ArmControl.eep" || exit 0
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "ArmControl.elf" > "ArmControl.lss"
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "ArmControl.elf" "ArmControl.srec"
|
||||
"C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1051\avr8-gnu-toolchain\bin\avr-size.exe" "ArmControl.elf"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Other Targets
|
||||
clean:
|
||||
-$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES)
|
||||
-$(RM) $(C_DEPS_AS_ARGS)
|
||||
rm -rf "ArmControl.elf" "ArmControl.a" "ArmControl.hex" "ArmControl.lss" "ArmControl.eep" "ArmControl.map" "ArmControl.srec" "ArmControl.usersignatures"
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
Misc.d Misc.o: .././Misc.cpp .././Misc.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h \
|
||||
.././XMegaMacros.h
|
||||
|
||||
.././Misc.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h:
|
||||
|
||||
.././XMegaMacros.h:
|
||||
Binary file not shown.
@@ -0,0 +1,68 @@
|
||||
Sabertooth.d Sabertooth.o: .././Sabertooth.cpp .././Sabertooth.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h \
|
||||
.././usart_driver.h .././avr_compiler.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdbool.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdlib.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stddef.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\pgmspace.h
|
||||
|
||||
.././Sabertooth.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h:
|
||||
|
||||
.././usart_driver.h:
|
||||
|
||||
.././avr_compiler.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdbool.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdlib.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stddef.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\pgmspace.h:
|
||||
Binary file not shown.
@@ -0,0 +1,71 @@
|
||||
adc.d adc.o: .././adc.cpp .././adc.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\ctype.h \
|
||||
.././usart_driver.h .././avr_compiler.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdbool.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdlib.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stddef.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\pgmspace.h
|
||||
|
||||
.././adc.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\ctype.h:
|
||||
|
||||
.././usart_driver.h:
|
||||
|
||||
.././avr_compiler.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdbool.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdlib.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stddef.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\pgmspace.h:
|
||||
Binary file not shown.
@@ -0,0 +1,20 @@
|
||||
################################################################################
|
||||
# Automatically-generated file. Do not edit or delete the file
|
||||
################################################################################
|
||||
|
||||
adc.cpp
|
||||
|
||||
ArmControl.cpp
|
||||
|
||||
Misc.cpp
|
||||
|
||||
motorInfo.cpp
|
||||
|
||||
rotateStepper.cpp
|
||||
|
||||
Sabertooth.cpp
|
||||
|
||||
stepperInfo.cpp
|
||||
|
||||
usart_driver.c
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
motorInfo.d motorInfo.o: .././motorInfo.cpp .././motorInfo.h
|
||||
|
||||
.././motorInfo.h:
|
||||
Binary file not shown.
@@ -0,0 +1,80 @@
|
||||
rotateStepper.d rotateStepper.o: .././rotateStepper.cpp \
|
||||
.././rotateStepper.h .././XMegaMacros.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdio.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdarg.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stddef.h \
|
||||
.././stepperInfo.h .././avr_compiler.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdbool.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdlib.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \
|
||||
.././usart_driver.h
|
||||
|
||||
.././rotateStepper.h:
|
||||
|
||||
.././XMegaMacros.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdio.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdarg.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stddef.h:
|
||||
|
||||
.././stepperInfo.h:
|
||||
|
||||
.././avr_compiler.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdbool.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdlib.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\pgmspace.h:
|
||||
|
||||
.././usart_driver.h:
|
||||
Binary file not shown.
@@ -0,0 +1,77 @@
|
||||
stepperInfo.d stepperInfo.o: .././stepperInfo.cpp \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdio.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdarg.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stddef.h \
|
||||
.././stepperInfo.h .././XMegaMacros.h .././avr_compiler.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdbool.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdlib.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \
|
||||
.././usart_driver.h
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdio.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdarg.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stddef.h:
|
||||
|
||||
.././stepperInfo.h:
|
||||
|
||||
.././XMegaMacros.h:
|
||||
|
||||
.././avr_compiler.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdbool.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdlib.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\pgmspace.h:
|
||||
|
||||
.././usart_driver.h:
|
||||
Binary file not shown.
@@ -0,0 +1,66 @@
|
||||
usart_driver.d usart_driver.o: .././usart_driver.c .././usart_driver.h \
|
||||
.././avr_compiler.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdbool.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdlib.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stddef.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h \
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h
|
||||
|
||||
.././usart_driver.h:
|
||||
|
||||
.././avr_compiler.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdint.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stdbool.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\stdlib.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\lib\gcc\avr\4.8.1\include\stddef.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\io.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\inttypes.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\iox32d4.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\portpins.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\common.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\version.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\xmega.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\fuse.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\lock.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\interrupt.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\avr\pgmspace.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\util\delay_basic.h:
|
||||
|
||||
c:\program\ files\ (x86)\atmel\atmel\ toolchain\avr8\ gcc\native\3.4.1051\avr8-gnu-toolchain\avr\include\math.h:
|
||||
Binary file not shown.
@@ -0,0 +1,17 @@
|
||||
/*
|
||||
* CPPFile1.cpp
|
||||
*
|
||||
* Created: 5/27/2014 10:19:21 PM
|
||||
* Author: Corwin
|
||||
*/
|
||||
#include "Misc.h"
|
||||
#include <avr/io.h>
|
||||
#include "XMegaMacros.h"
|
||||
|
||||
void DockArm(unsigned char dockState){
|
||||
if(dockState == DOCK_ARM){
|
||||
ERROR_SET();
|
||||
}else if(dockState == UNDOCK_ARM){
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Misc.h
|
||||
*
|
||||
* Created: 5/27/2014 10:19:12 PM
|
||||
* Author: Corwin
|
||||
*/
|
||||
|
||||
#ifndef MISC_H_
|
||||
#define MISC_H_
|
||||
|
||||
#define DOCK_ARM 1
|
||||
#define UNDOCK_ARM 0
|
||||
|
||||
#include <avr/io.h>
|
||||
|
||||
void DockArm(unsigned char dockState);
|
||||
|
||||
|
||||
#endif /* MISC_H_ */
|
||||
@@ -0,0 +1,114 @@
|
||||
/*
|
||||
* Sabertooth.cpp
|
||||
*
|
||||
* Created: 4/30/2014 1:08:16 PM
|
||||
* Author: Corwin
|
||||
*/
|
||||
|
||||
|
||||
#include "Sabertooth.h"
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
|
||||
|
||||
Sabertooth::Sabertooth(USART_t *USART_SaberUsart, PORT_t * SaberPORT)
|
||||
{
|
||||
Sabertooth_USART = USART_SaberUsart; //Sets the private variable to the USART being used
|
||||
Sabertooth_PORT = SaberPORT; //Sets the private variable for the PORT the USART is on
|
||||
|
||||
Sabertooth_PORT->DIRSET = PIN3_bm; //Sets the TX pin for the USART to an output
|
||||
USART_Format_Set(Sabertooth_USART, USART_CHSIZE_8BIT_gc, USART_PMODE_DISABLED_gc, false); //Sets the Sabertooth USART to run in 8 bit data, no parity, and 1 stop bit,
|
||||
USART_Baudrate_Set(Sabertooth_USART, 207 , 0); //Sets the Sabertooth baud rate to 9600 when running at 32Mhz system clock
|
||||
USART_Tx_Enable(Sabertooth_USART); //Enable the USART transmit capabilities
|
||||
_delay_ms(100); //Delay to let things settle
|
||||
|
||||
USART_PutChar(Sabertooth_USART, AUTOBAUD_BYTE); //Send the autobaud byte to get the sabertooth communicating
|
||||
SendDriveCmd(14, 20); //Sets the communication watchdog on the sabertooth to (x*100ms) It's currently set to two seconds.
|
||||
StopAll(); //Everything is now initialized, stop all motor movement to account for random noise or failed startups
|
||||
}
|
||||
|
||||
void Sabertooth::DriveTest(){
|
||||
|
||||
int i;
|
||||
for(i = 0; i < 64 ; i++){
|
||||
SendDriveCmd(LEFT_FORWARD, i);
|
||||
SendDriveCmd(RIGHT_FORWARD, i);
|
||||
_delay_ms(10);
|
||||
}
|
||||
for( ; i > 0 ; i--){
|
||||
SendDriveCmd(LEFT_FORWARD, i);
|
||||
SendDriveCmd(RIGHT_FORWARD, i);
|
||||
_delay_ms(10);
|
||||
}
|
||||
|
||||
for(i = 0; i < 64 ; i++){
|
||||
SendDriveCmd(LEFT_BACK, i);
|
||||
SendDriveCmd(RIGHT_BACK, i);
|
||||
_delay_ms(10);
|
||||
}
|
||||
for( ; i > 0 ; i--){
|
||||
SendDriveCmd(LEFT_BACK, i);
|
||||
SendDriveCmd(RIGHT_BACK, i);
|
||||
_delay_ms(10);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//Left = lower act
|
||||
//Right = upper act
|
||||
void Sabertooth::ParsePacket(unsigned char left, unsigned char right){
|
||||
unsigned char command_left = LEFT_FORWARD;
|
||||
unsigned char value_left = 0;
|
||||
unsigned char command_right = RIGHT_FORWARD;
|
||||
unsigned char value_right = 0;
|
||||
|
||||
if(left == 127){
|
||||
command_left = LEFT_FORWARD;
|
||||
value_left = 0;
|
||||
}else if(left < 127){
|
||||
command_left = LEFT_BACK;
|
||||
value_left = (127-left);
|
||||
}else if(left > 127){
|
||||
command_left = LEFT_FORWARD;
|
||||
value_left = (left-127);
|
||||
}
|
||||
|
||||
if(right == 127){
|
||||
command_right = RIGHT_FORWARD;
|
||||
value_right = 0;
|
||||
}else if(right < 127){
|
||||
command_right = RIGHT_BACK;
|
||||
value_right = (127-right);
|
||||
}else if(right > 127){
|
||||
command_right = RIGHT_FORWARD;
|
||||
value_right = (right-127);
|
||||
}
|
||||
|
||||
SendDriveCmd(command_left, value_left);
|
||||
SendDriveCmd(command_right, value_right);
|
||||
}
|
||||
|
||||
void Sabertooth::StopAll(){
|
||||
SendDriveCmd(LEFT_FORWARD, 0);
|
||||
SendDriveCmd(RIGHT_FORWARD, 0);
|
||||
}
|
||||
|
||||
unsigned char Sabertooth::SaberChecksum(unsigned char command, unsigned char value){
|
||||
return ((SABERTOOTHADDRESS+command+value) & 127);
|
||||
}
|
||||
|
||||
void Sabertooth::SendDriveCmd(char command, char value){
|
||||
////////////////////////////////Testing.....
|
||||
//while(!USART_IsTXDataRegisterEmpty(Sabertooth_USART)); //Necessary to make sure we don't overwrite data in the buffer
|
||||
//USART_PutChar(Sabertooth_USART, AUTOBAUD_BYTE); //Send the autobaud byte to get the sabertooth communicating
|
||||
////////////////////////////////
|
||||
while(!USART_IsTXDataRegisterEmpty(Sabertooth_USART)); //Necessary to make sure we don't overwrite data in the buffer
|
||||
USART_PutChar(Sabertooth_USART, SABERTOOTHADDRESS); //Sends the address to the sabertooth
|
||||
while(!USART_IsTXDataRegisterEmpty(Sabertooth_USART));
|
||||
USART_PutChar(Sabertooth_USART, command); //Sends the command to the sabertooth
|
||||
while(!USART_IsTXDataRegisterEmpty(Sabertooth_USART));
|
||||
USART_PutChar(Sabertooth_USART, value); //Sends the value or speed to the sabertooth
|
||||
while(!USART_IsTXDataRegisterEmpty(Sabertooth_USART));
|
||||
USART_PutChar(Sabertooth_USART, SaberChecksum(command, value)); //Send the checksum of all these values to the sabertooth
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* Sabertooth.h
|
||||
*
|
||||
* Created: 4/30/2014 1:08:16 PM
|
||||
* Author: Corwin
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __SABERTOOTH_H__
|
||||
#define __SABERTOOTH_H__
|
||||
|
||||
#define F_CPU 32000000UL
|
||||
#define SABERTOOTHADDRESS 128
|
||||
#define AUTOBAUD_BYTE 170
|
||||
|
||||
#define LEFT_FORWARD 0
|
||||
#define LEFT_BACK 1
|
||||
#define RIGHT_FORWARD 4
|
||||
#define RIGHT_BACK 5
|
||||
|
||||
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
|
||||
extern "C"{
|
||||
#include "usart_driver.h"
|
||||
#include "avr_compiler.h"
|
||||
};
|
||||
|
||||
class Sabertooth
|
||||
{
|
||||
//variables
|
||||
public:
|
||||
protected:
|
||||
private:
|
||||
|
||||
//functions
|
||||
public:
|
||||
Sabertooth(USART_t *USART_SaberUsart, PORT_t * SaberPORT);
|
||||
void DriveTest();
|
||||
void StopAll();
|
||||
unsigned char SaberChecksum(unsigned char command, unsigned char value);
|
||||
void ParsePacket(unsigned char left, unsigned char right);
|
||||
protected:
|
||||
private:
|
||||
void SendDriveCmd(char command, char value);
|
||||
Sabertooth( const Sabertooth &c );
|
||||
Sabertooth& operator=( const Sabertooth &c );
|
||||
USART_t *Sabertooth_USART;
|
||||
PORT_t *Sabertooth_PORT;
|
||||
|
||||
}; //Sabertooth
|
||||
|
||||
#endif //__SABERTOOTH_H__
|
||||
@@ -0,0 +1,73 @@
|
||||
/*
|
||||
* XMegaMacros.h
|
||||
*
|
||||
* Created: 4/25/2014 5:51:17 AM
|
||||
* Author: Nick
|
||||
*/
|
||||
|
||||
|
||||
#ifndef XMEGAMACROS_H_
|
||||
#define XMEGAMACROS_H_
|
||||
|
||||
//Custom Defined Macros
|
||||
#define STATUS1_SET(void) (PORTC.OUTSET = PIN6_bm)
|
||||
#define STATUS1_CLR(void) (PORTC.OUTCLR = PIN6_bm)
|
||||
|
||||
#define STATUS2_SET(void) (PORTC.OUTSET = PIN5_bm)
|
||||
#define STATUS2_CLR(void) (PORTC.OUTCLR = PIN5_bm)
|
||||
|
||||
#define ERROR_SET(void) (PORTC.OUTSET = PIN7_bm)
|
||||
#define ERROR_CLR(void) (PORTC.OUTCLR = PIN7_bm)
|
||||
|
||||
//Motor 1 enable/disables
|
||||
#define MD1_ENABLE(void) (PORTD.OUTCLR = PIN6_bm)
|
||||
#define MD1_DISABLE(void) (PORTD.OUTSET = PIN6_bm)
|
||||
|
||||
#define MD2_ENABLE(void) (PORTD.OUTCLR = PIN2_bm)
|
||||
#define MD2_DISABLE(void) (PORTD.OUTSET = PIN2_bm)
|
||||
|
||||
//Motor 1 M enable/disables
|
||||
#define MD1_M0_SET(void) (PORTA.OUTSET = PIN5_bm)
|
||||
#define MD1_M1_SET(void) (PORTA.OUTSET = PIN6_bm)
|
||||
#define MD1_M2_SET(void) (PORTA.OUTSET = PIN7_bm)
|
||||
|
||||
#define MD1_M0_CLR(void) (PORTA.OUTCLR = PIN5_bm)
|
||||
#define MD1_M1_CLR(void) (PORTA.OUTCLR = PIN6_bm)
|
||||
#define MD1_M2_CLR(void) (PORTA.OUTCLR = PIN7_bm)
|
||||
|
||||
#define MD2_M0_SET(void) (PORTB.OUTSET = PIN0_bm)
|
||||
#define MD2_M1_SET(void) (PORTB.OUTSET = PIN1_bm)
|
||||
#define MD2_M2_SET(void) (PORTB.OUTSET = PIN2_bm)
|
||||
|
||||
#define MD2_M0_CLR(void) (PORTB.OUTCLR = PIN0_bm)
|
||||
#define MD2_M1_CLR(void) (PORTB.OUTCLR = PIN1_bm)
|
||||
#define MD2_M2_CLR(void) (PORTB.OUTCLR = PIN2_bm)
|
||||
|
||||
//Set direction macros
|
||||
#define MD1_DIR_SET(void) (PORTD.OUTSET = PIN4_bm)
|
||||
#define MD1_DIR_CLR(void) (PORTD.OUTCLR = PIN4_bm)
|
||||
|
||||
#define MD2_DIR_SET(void) (PORTD.OUTSET = PIN0_bm)
|
||||
#define MD2_DIR_CLR(void) (PORTD.OUTCLR = PIN0_bm)
|
||||
|
||||
//Set step macros
|
||||
#define MD1_STEP_SET(void) (PORTD.OUTSET = PIN5_bm)
|
||||
#define MD1_STEP_CLR(void) (PORTD.OUTCLR = PIN5_bm)
|
||||
|
||||
#define MD2_STEP_SET(void) (PORTD.OUTSET = PIN1_bm)
|
||||
#define MD2_STEP_CLR(void) (PORTD.OUTCLR = PIN1_bm)
|
||||
|
||||
//Limit switch macros
|
||||
#define CHECK_GRIP_CLOSE(void) (!(PORTA.IN & PIN3_bm)) //Returns true if grip close
|
||||
#define CHECK_GRIP_LIMIT(void) (PORTB.IN & PIN3_bm) //Returns true if a limit switch has been pressed
|
||||
#define CHECK_CAL(void) (PORTA.IN & PIN2_bm) //Returns true if cal limit switch has been pressed
|
||||
|
||||
#define CHECK_ISROVING(void) (PORTA.IN & PIN4_bm) //Returns true if rover's status is 'roving
|
||||
//Implied to be false during e-stop condition
|
||||
|
||||
|
||||
//#define BASE_ROT_LIMIT
|
||||
|
||||
|
||||
|
||||
#endif /* XMEGAMACROS_H_ */
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* adc.cpp
|
||||
*
|
||||
* Created: 5/6/2014 6:39:20 PM
|
||||
* Author: Nick
|
||||
*/
|
||||
|
||||
#include "adc.h"
|
||||
|
||||
|
||||
uint8_t ReadSignatureByte(uint16_t Address)
|
||||
{
|
||||
NVM_CMD = NVM_CMD_READ_CALIB_ROW_gc;
|
||||
uint8_t Result;
|
||||
__asm__ ("lpm %0, Z\n" : "=r" (Result) : "z" (Address));
|
||||
NVM_CMD = NVM_CMD_NO_OPERATION_gc;
|
||||
return Result;
|
||||
}
|
||||
|
||||
uint16_t ReadADC(uint8_t Channel, uint8_t ADCMode) // Mode = 1 for single ended, 0 for internal
|
||||
{
|
||||
if ((ADCA.CTRLA & ADC_ENABLE_bm) == 0)
|
||||
{
|
||||
ADCA.CTRLA = ADC_ENABLE_bm ; // Enable the ADC
|
||||
ADCA.CTRLB = ADC_RESOLUTION_8BIT_gc; // Signed Mode
|
||||
ADCA.REFCTRL = ADC_REFSEL_VCC_gc; // Internal 1v ref
|
||||
ADCA.EVCTRL = 0; // no events
|
||||
ADCA.PRESCALER = ADC_PRESCALER_DIV256_gc ;
|
||||
ADCA.CALL = ReadSignatureByte(0x20) ; //ADC Calibration Byte 0
|
||||
ADCA.CALH = ReadSignatureByte(0x21) ; //ADC Calibration Byte 1
|
||||
_delay_us(400); // Wait at least 25 clocks
|
||||
}
|
||||
ADCA.CH0.CTRL = ADC_CH_GAIN_1X_gc | ADCMode ; // Gain = 1, Single Ended
|
||||
ADCA.CH0.MUXCTRL = (Channel<<3);
|
||||
ADCA.CH0.INTCTRL = 0 ; // No interrupt
|
||||
for(uint8_t Waste = 0; Waste<2; Waste++)
|
||||
{
|
||||
ADCA.CH0.CTRL |= ADC_CH_START_bm; // Start conversion
|
||||
while (ADCA.INTFLAGS==0) ; // Wait for complete
|
||||
ADCA.INTFLAGS = ADCA.INTFLAGS ;
|
||||
}
|
||||
return ADCA.CH0RES ;
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* adc.h
|
||||
*
|
||||
* Contains headers for ADC
|
||||
*
|
||||
* Created: 5/6/2014 6:36:17 PM
|
||||
* Author: Nick
|
||||
*/
|
||||
|
||||
|
||||
#ifndef ADC_H_
|
||||
#define ADC_H_
|
||||
|
||||
#define F_CPU 32000000UL
|
||||
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
#include <ctype.h>
|
||||
|
||||
extern "C"{
|
||||
#include "usart_driver.h"
|
||||
#include "avr_compiler.h"
|
||||
};
|
||||
|
||||
uint8_t ReadSignatureByte(uint16_t Address);
|
||||
uint16_t ReadADC(uint8_t Channel, uint8_t ADCMode); // Mode = 1 for single ended, 0 for internal
|
||||
|
||||
#endif /* ADC_H_ */
|
||||
@@ -0,0 +1,154 @@
|
||||
/* This file has been prepared for Doxygen automatic documentation generation.*/
|
||||
/*! \file *********************************************************************
|
||||
*
|
||||
* \brief This file implements some macros that makes the IAR C-compiler and
|
||||
* avr-gcc work with the same code base for the AVR architecture.
|
||||
*
|
||||
* \par Documentation
|
||||
* For comprehensive code documentation, supported compilers, compiler
|
||||
* settings and supported devices see readme.html
|
||||
*
|
||||
* \author
|
||||
* Atmel Corporation: http://www.atmel.com \n
|
||||
* Support email: avr@atmel.com
|
||||
*
|
||||
* $Revision: 1694 $
|
||||
* $Date: 2008-07-29 14:21:58 +0200 (ti, 29 jul 2008) $ \n
|
||||
*
|
||||
* Copyright (c) 2008, Atmel Corporation All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. The name of ATMEL may not be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
|
||||
* SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef COMPILER_AVR_H
|
||||
#define COMPILER_AVR_H
|
||||
|
||||
#ifndef F_CPU
|
||||
/*! \brief Define default CPU frequency, if this is not already defined. */
|
||||
#define F_CPU 2000000UL
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/*! \brief This macro will protect the following code from interrupts. */
|
||||
#define AVR_ENTER_CRITICAL_REGION( ) uint8_t volatile saved_sreg = SREG; \
|
||||
cli();
|
||||
|
||||
/*! \brief This macro must always be used in conjunction with AVR_ENTER_CRITICAL_REGION
|
||||
* so the interrupts are enabled again.
|
||||
*/
|
||||
#define AVR_LEAVE_CRITICAL_REGION( ) SREG = saved_sreg;
|
||||
|
||||
#if defined( __ICCAVR__ )
|
||||
|
||||
#include <inavr.h>
|
||||
#include <ioavr.h>
|
||||
#include <intrinsics.h>
|
||||
#include <pgmspace.h>
|
||||
|
||||
#ifndef __HAS_ELPM__
|
||||
#define _MEMATTR __flash
|
||||
#else /* __HAS_ELPM__ */
|
||||
#define _MEMATTR __farflash
|
||||
#endif /* __HAS_ELPM__ */
|
||||
|
||||
/*! \brief Perform a delay of \c us microseconds.
|
||||
*
|
||||
* The macro F_CPU is supposed to be defined to a constant defining the CPU
|
||||
* clock frequency (in Hertz).
|
||||
*
|
||||
* The maximal possible delay is 262.14 ms / F_CPU in MHz.
|
||||
*
|
||||
* \note For the IAR compiler, currently F_CPU must be a
|
||||
* multiple of 1000000UL (1 MHz).
|
||||
*/
|
||||
#define delay_us( us ) ( __delay_cycles( ( F_CPU / 1000000UL ) * ( us ) ) )
|
||||
|
||||
/*! \brief Preprocessor magic.
|
||||
*
|
||||
* Some preprocessor magic to allow for a header file abstraction of
|
||||
* interrupt service routine declarations for the IAR compiler. This
|
||||
* requires the use of the C99 _Pragma() directive (rather than the
|
||||
* old #pragma one that could not be used as a macro replacement), as
|
||||
* well as two different levels of preprocessor concetanations in
|
||||
* order to do both, assign the correct interrupt vector name, as well
|
||||
* as construct a unique function name for the ISR.
|
||||
*
|
||||
* \note Do *NOT* try to reorder the macros below, as this will only
|
||||
* work in the given order.
|
||||
*/
|
||||
#define PRAGMA(x) _Pragma( #x )
|
||||
#define ISR(vec) PRAGMA( vector=vec ) __interrupt void handler_##vec(void)
|
||||
#define sei( ) (__enable_interrupt( ))
|
||||
#define cli( ) (__disable_interrupt( ))
|
||||
|
||||
/*! \brief Define the no operation macro. */
|
||||
#define nop( ) (__no_operation())
|
||||
|
||||
/*! \brief Define the watchdog reset macro. */
|
||||
#define watchdog_reset( ) (__watchdog_reset( ))
|
||||
|
||||
|
||||
#define INLINE PRAGMA( inline=forced ) static
|
||||
|
||||
#define FLASH_DECLARE(x) _MEMATTR x
|
||||
#define FLASH_STRING(x) ((_MEMATTR const char *)(x))
|
||||
#define FLASH_STRING_T char const _MEMATTR *
|
||||
#define FLASH_BYTE_ARRAY_T uint8_t const _MEMATTR *
|
||||
#define PGM_READ_BYTE(x) *(x)
|
||||
#define PGM_READ_WORD(x) *(x)
|
||||
|
||||
#define SHORTENUM /**/
|
||||
|
||||
#elif defined( __GNUC__ )
|
||||
|
||||
#include <avr/io.h>
|
||||
#include <avr/interrupt.h>
|
||||
#include <avr/pgmspace.h>
|
||||
#include <util/delay.h>
|
||||
|
||||
/*! \brief Define the delay_us macro for GCC. */
|
||||
#define delay_us( us ) (_delay_us( us ))
|
||||
|
||||
#define INLINE static inline
|
||||
|
||||
/*! \brief Define the no operation macro. */
|
||||
#define nop() do { __asm__ __volatile__ ("nop"); } while (0)
|
||||
|
||||
#define MAIN_TASK_PROLOGUE int
|
||||
|
||||
|
||||
#define MAIN_TASK_EPILOGUE() return -1;
|
||||
|
||||
#define SHORTENUM __attribute__ ((packed))
|
||||
|
||||
#else
|
||||
#error Compiler not supported.
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* motorInfo.cpp
|
||||
*
|
||||
* Created: 5/7/2014 3:17:28 AM
|
||||
* Author: Nick
|
||||
*/
|
||||
|
||||
//LINEAR ACTUATOR REFERENCE DIRECTION
|
||||
//- retract outer, retract inner
|
||||
|
||||
|
||||
#include "motorInfo.h"
|
||||
|
||||
// default constructor
|
||||
motorInfo::motorInfo() {
|
||||
acceptableCount = 0;
|
||||
acceptableCountMax = 5;
|
||||
acceptableError = .2; //Needs calibration
|
||||
slowRange = .75;
|
||||
speed = 100;
|
||||
enabled = 0;
|
||||
|
||||
//currentPos = 0;
|
||||
} //motorInfo
|
||||
|
||||
// default destructor
|
||||
motorInfo::~motorInfo() {
|
||||
|
||||
} //~motorInfo
|
||||
|
||||
|
||||
void motorInfo::enable(){
|
||||
enabled = 1;
|
||||
}
|
||||
|
||||
void motorInfo::disable(){
|
||||
enabled = 0;
|
||||
}
|
||||
|
||||
|
||||
void motorInfo::setDesired(float desired){
|
||||
desiredPos = desired; //Mutate desiredPos
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
/*
|
||||
* motorInfo.h
|
||||
*
|
||||
* Created: 5/7/2014 3:17:28 AM
|
||||
* Author: Nick
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __MOTORINFO_H__
|
||||
#define __MOTORINFO_H__
|
||||
|
||||
|
||||
class motorInfo
|
||||
{
|
||||
//variables
|
||||
public:
|
||||
int acceptableCountMax;
|
||||
int acceptableCount;
|
||||
double acceptableError;
|
||||
double slowRange;
|
||||
int speed;
|
||||
int enabled;
|
||||
|
||||
double currentPos; //Current pos in inches
|
||||
volatile double desiredPos; //Desired pos in inches
|
||||
|
||||
protected:
|
||||
private:
|
||||
|
||||
//functions
|
||||
public:
|
||||
motorInfo();
|
||||
~motorInfo();
|
||||
void enable();
|
||||
void disable();
|
||||
void setDesired(float desired);
|
||||
protected:
|
||||
private:
|
||||
motorInfo( const motorInfo &c );
|
||||
motorInfo& operator=( const motorInfo &c );
|
||||
|
||||
}; //motorInfo
|
||||
|
||||
#endif //__MOTORINFO_H__
|
||||
@@ -0,0 +1,114 @@
|
||||
/*
|
||||
* rotateStepper.cpp
|
||||
*
|
||||
* Created: 5/7/2014 7:12:28 AM
|
||||
* Author: Nick
|
||||
*/
|
||||
|
||||
#define F_CPU 32000000UL
|
||||
|
||||
#include "rotateStepper.h"
|
||||
#include "XMegaMacros.h"
|
||||
|
||||
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "stepperInfo.h"
|
||||
|
||||
|
||||
extern "C" {
|
||||
#include "avr_compiler.h"
|
||||
#include "usart_driver.h"
|
||||
};
|
||||
|
||||
// default constructor
|
||||
rotateStepper::rotateStepper() {
|
||||
calSpan = 255; //TODO: Set to actual value
|
||||
multiplier = -1; //Invalid (not set) state
|
||||
|
||||
currentAngle = 0; //It will have its reference based off of the 2nd limit switch,
|
||||
//but the interface function will minus the amount to make 0 forward
|
||||
} //rotateStepper
|
||||
|
||||
// default destructor
|
||||
rotateStepper::~rotateStepper()
|
||||
{
|
||||
} //~rotateStepper
|
||||
|
||||
void rotateStepper::rotateBase(int desiredAngle){
|
||||
//NEED INPUT CHEKCING
|
||||
|
||||
int zeroedAngle = desiredAngle + 36.09;
|
||||
|
||||
moveBase(zeroedAngle - currentAngle);
|
||||
currentAngle = currentAngle + (zeroedAngle - currentAngle);
|
||||
|
||||
}
|
||||
|
||||
|
||||
void rotateStepper::calibrateBase(){
|
||||
bool calInProgress = true;
|
||||
bool calFirstPress = false;
|
||||
|
||||
//bool calSecondPress = false;
|
||||
|
||||
int calButtonState;
|
||||
|
||||
int stepCount = 0;
|
||||
|
||||
MD2_DIR_CLR(); //Set arm to turn counter-clockwise
|
||||
|
||||
while (calInProgress){
|
||||
while(!CHECK_ISROVING());
|
||||
calButtonState = CHECK_CAL();
|
||||
|
||||
if(calButtonState && !calFirstPress){
|
||||
|
||||
calFirstPress = true;
|
||||
MD2_DIR_SET(); //Sets arm to clockwise
|
||||
_delay_ms(1200); //For gracefulness
|
||||
}
|
||||
|
||||
if(calFirstPress == true)
|
||||
++stepCount;
|
||||
|
||||
if(calFirstPress && stepCount > 150 && CHECK_CAL()){
|
||||
calInProgress = false;
|
||||
}
|
||||
|
||||
MD2_STEP_CLR();
|
||||
_delay_us(600);
|
||||
MD2_STEP_SET();
|
||||
_delay_us(600);
|
||||
|
||||
}
|
||||
currentAngle = 0;
|
||||
multiplier = stepCount / calSpan;
|
||||
_delay_ms(1200); //For gracefulness
|
||||
}
|
||||
|
||||
|
||||
//Multiplier is steps per degree
|
||||
|
||||
//Helper function
|
||||
void rotateStepper::moveBase(int degreesToMove){
|
||||
|
||||
if (degreesToMove > 0)
|
||||
MD2_DIR_CLR(); //Counter Clockwise
|
||||
else
|
||||
MD2_DIR_SET(); //Clockwise
|
||||
|
||||
int stepsToMove = abs(degreesToMove) * multiplier;
|
||||
|
||||
for(int i = 0; i < stepsToMove; ++i){
|
||||
while(!CHECK_ISROVING()); //e-stop check
|
||||
|
||||
MD2_STEP_CLR();
|
||||
_delay_us(400);
|
||||
MD2_STEP_SET();
|
||||
_delay_us(500);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* rotateStepper.h
|
||||
*
|
||||
* Created: 5/7/2014 7:12:28 AM
|
||||
* Author: Nick
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __ROTATESTEPPER_H__
|
||||
#define __ROTATESTEPPER_H__
|
||||
|
||||
|
||||
class rotateStepper
|
||||
{
|
||||
//variables
|
||||
public:
|
||||
double multiplier;
|
||||
double calSpan;
|
||||
|
||||
int currentAngle;
|
||||
volatile int desiredPos;
|
||||
protected:
|
||||
private:
|
||||
|
||||
//functions
|
||||
public:
|
||||
rotateStepper();
|
||||
~rotateStepper();
|
||||
|
||||
void rotateBase(int desiredAngle);
|
||||
void calibrateBase();
|
||||
|
||||
void moveBase(int degreesToMove); //Helper function
|
||||
protected:
|
||||
private:
|
||||
|
||||
|
||||
rotateStepper( const rotateStepper &c );
|
||||
rotateStepper& operator=( const rotateStepper &c );
|
||||
|
||||
}; //rotateStepper
|
||||
|
||||
#endif //__ROTATESTEPPER_H__
|
||||
@@ -0,0 +1,107 @@
|
||||
/*
|
||||
* stepperInfo.cpp
|
||||
*
|
||||
* Created: 5/7/2014 6:19:00 AM
|
||||
* Author: Nick
|
||||
*/
|
||||
|
||||
#define F_CPU 32000000UL
|
||||
|
||||
#include <avr/io.h>
|
||||
#include <util/delay.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "stepperInfo.h"
|
||||
|
||||
extern "C" {
|
||||
#include "avr_compiler.h"
|
||||
#include "usart_driver.h"
|
||||
|
||||
};
|
||||
|
||||
extern void SendStringPC(char *stufftosend);
|
||||
|
||||
// default constructor
|
||||
stepperInfo::stepperInfo() {
|
||||
enabled = 0;
|
||||
currentState = -1;
|
||||
init = 1; //Init state (ignore first push)
|
||||
} //stepperInfo
|
||||
|
||||
// default destructor
|
||||
stepperInfo::~stepperInfo()
|
||||
{
|
||||
} //~stepperInfo
|
||||
|
||||
|
||||
//Used for the gripping stepper
|
||||
void stepperInfo::processCommand(int cmd){
|
||||
if(!enabled)
|
||||
return; //TODO: MAKE BETTER
|
||||
|
||||
if(cmd != GRIP && cmd != RELEASE)
|
||||
return;
|
||||
|
||||
if(cmd == currentState)
|
||||
return;
|
||||
|
||||
currentState = cmd;
|
||||
|
||||
//char sendBuffer[200];
|
||||
//sprintf(sendBuffer, "Reached process command");
|
||||
//SendStringPC(sendBuffer);
|
||||
|
||||
|
||||
//GET DIRECTION
|
||||
//CLR IS OUT
|
||||
|
||||
//SET is grip
|
||||
//CLR is release
|
||||
if(cmd == GRIP)
|
||||
MD1_DIR_SET();
|
||||
else if (cmd == RELEASE)
|
||||
MD1_DIR_CLR();
|
||||
|
||||
if(!init){
|
||||
for(int i = 0; i < 10000; ++i){
|
||||
|
||||
while(!CHECK_ISROVING()); //e-stop check
|
||||
|
||||
MD1_STEP_SET();
|
||||
_delay_us(50);
|
||||
MD1_STEP_CLR();
|
||||
_delay_us(500);
|
||||
}
|
||||
}
|
||||
else {
|
||||
init = 0;
|
||||
}
|
||||
|
||||
//MOVE UNTIL LIMIT OR GRIP
|
||||
if(cmd == GRIP){
|
||||
for(long i = 0; i < 185000; ++i){
|
||||
|
||||
while(!CHECK_ISROVING()); //e-stop check
|
||||
|
||||
MD1_STEP_SET();
|
||||
_delay_us(20);
|
||||
MD1_STEP_CLR();
|
||||
_delay_us(40);
|
||||
}
|
||||
}else if(cmd == RELEASE){
|
||||
while(!CHECK_GRIP_LIMIT()){
|
||||
while(!CHECK_ISROVING()); //e-stop check
|
||||
MD1_STEP_SET();
|
||||
_delay_us(20);
|
||||
MD1_STEP_CLR();
|
||||
_delay_us(40);
|
||||
}
|
||||
}
|
||||
enabled = 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
void stepperInfo::enable(){
|
||||
enabled = 1;
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
/*
|
||||
* stepperInfo.h
|
||||
*
|
||||
* Created: 5/7/2014 6:19:00 AM
|
||||
* Author: Nick
|
||||
*/
|
||||
|
||||
#include "XMegaMacros.h"
|
||||
|
||||
#ifndef __STEPPERINFO_H__
|
||||
#define __STEPPERINFO_H__
|
||||
|
||||
#define GRIP 0
|
||||
#define RELEASE 1
|
||||
|
||||
class stepperInfo
|
||||
{
|
||||
//variables
|
||||
public:
|
||||
int enabled;
|
||||
int currentState;
|
||||
int init;
|
||||
volatile unsigned char desiredGripState;
|
||||
protected:
|
||||
private:
|
||||
|
||||
//functions
|
||||
public:
|
||||
stepperInfo();
|
||||
~stepperInfo();
|
||||
void processCommand(int cmd);
|
||||
void enable();
|
||||
protected:
|
||||
private:
|
||||
stepperInfo( const stepperInfo &c );
|
||||
stepperInfo& operator=( const stepperInfo &c );
|
||||
|
||||
}; //stepperInfo
|
||||
|
||||
#endif //__STEPPERINFO_H__
|
||||
@@ -0,0 +1,320 @@
|
||||
/* This file has been prepared for Doxygen automatic documentation generation.*/
|
||||
/*! \file *********************************************************************
|
||||
*
|
||||
* \brief
|
||||
* XMEGA USART driver source file.
|
||||
*
|
||||
* This file contains the function implementations the XMEGA interrupt
|
||||
* and polled USART driver.
|
||||
*
|
||||
* The driver is not intended for size and/or speed critical code, since
|
||||
* most functions are just a few lines of code, and the function call
|
||||
* overhead would decrease code performance. The driver is intended for
|
||||
* rapid prototyping and documentation purposes for getting started with
|
||||
* the XMEGA ADC module.
|
||||
*
|
||||
* For size and/or speed critical code, it is recommended to copy the
|
||||
* function contents directly into your application instead of making
|
||||
* a function call.
|
||||
*
|
||||
* Some functions use the following construct:
|
||||
* "some_register = ... | (some_parameter ? SOME_BIT_bm : 0) | ..."
|
||||
* Although the use of the ternary operator ( if ? then : else ) is discouraged,
|
||||
* in some occasions the operator makes it possible to write pretty clean and
|
||||
* neat code. In this driver, the construct is used to set or not set a
|
||||
* configuration bit based on a boolean input parameter, such as
|
||||
* the "some_parameter" in the example above.
|
||||
*
|
||||
* \par Application note:
|
||||
* AVR1307: Using the XMEGA USART
|
||||
*
|
||||
* \par Documentation
|
||||
* For comprehensive code documentation, supported compilers, compiler
|
||||
* settings and supported devices see readme.html
|
||||
*
|
||||
* \author
|
||||
* Atmel Corporation: http://www.atmel.com \n
|
||||
* Support email: avr@atmel.com
|
||||
*
|
||||
* $Revision: 1694 $
|
||||
* $Date: 2008-07-29 14:21:58 +0200 (ti, 29 jul 2008) $ \n
|
||||
*
|
||||
* Copyright (c) 2008, Atmel Corporation All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. The name of ATMEL may not be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
|
||||
* SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
#include "usart_driver.h"
|
||||
|
||||
|
||||
|
||||
/*! \brief Initializes buffer and selects what USART module to use.
|
||||
*
|
||||
* Initializes receive and transmit buffer and selects what USART module to use,
|
||||
* and stores the data register empty interrupt level.
|
||||
*
|
||||
* \param usart_data The USART_data_t struct instance.
|
||||
* \param usart The USART module.
|
||||
* \param dreIntLevel Data register empty interrupt level.
|
||||
*/
|
||||
void USART_InterruptDriver_Initialize(USART_data_t * usart_data,
|
||||
USART_t * usart,
|
||||
USART_DREINTLVL_t dreIntLevel)
|
||||
{
|
||||
usart_data->usart = usart;
|
||||
usart_data->dreIntLevel = dreIntLevel;
|
||||
|
||||
usart_data->buffer.RX_Tail = 0;
|
||||
usart_data->buffer.RX_Head = 0;
|
||||
usart_data->buffer.TX_Tail = 0;
|
||||
usart_data->buffer.TX_Head = 0;
|
||||
}
|
||||
|
||||
|
||||
/*! \brief Set USART DRE interrupt level.
|
||||
*
|
||||
* Set the interrupt level on Data Register interrupt.
|
||||
*
|
||||
* \note Changing the DRE interrupt level in the interrupt driver while it is
|
||||
* running will not change the DRE interrupt level in the USART before the
|
||||
* DRE interrupt have been disabled and enabled again.
|
||||
*
|
||||
* \param usart_data The USART_data_t struct instance
|
||||
* \param dreIntLevel Interrupt level of the DRE interrupt.
|
||||
*/
|
||||
void USART_InterruptDriver_DreInterruptLevel_Set(USART_data_t * usart_data,
|
||||
USART_DREINTLVL_t dreIntLevel)
|
||||
{
|
||||
usart_data->dreIntLevel = dreIntLevel;
|
||||
}
|
||||
|
||||
|
||||
/*! \brief Test if there is data in the transmitter software buffer.
|
||||
*
|
||||
* This function can be used to test if there is free space in the transmitter
|
||||
* software buffer.
|
||||
*
|
||||
* \param usart_data The USART_data_t struct instance.
|
||||
*
|
||||
* \retval true There is data in the receive buffer.
|
||||
* \retval false The receive buffer is empty.
|
||||
*/
|
||||
bool USART_TXBuffer_FreeSpace(USART_data_t * usart_data)
|
||||
{
|
||||
/* Make copies to make sure that volatile access is specified. */
|
||||
uint8_t tempHead = (usart_data->buffer.TX_Head + 1) & USART_TX_BUFFER_MASK;
|
||||
uint8_t tempTail = usart_data->buffer.TX_Tail;
|
||||
|
||||
/* There are data left in the buffer unless Head and Tail are equal. */
|
||||
return (tempHead != tempTail);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*! \brief Put data (5-8 bit character).
|
||||
*
|
||||
* Stores data byte in TX software buffer and enables DRE interrupt if there
|
||||
* is free space in the TX software buffer.
|
||||
*
|
||||
* \param usart_data The USART_data_t struct instance.
|
||||
* \param data The data to send.
|
||||
*/
|
||||
bool USART_TXBuffer_PutByte(USART_data_t * usart_data, uint8_t data)
|
||||
{
|
||||
uint8_t tempCTRLA;
|
||||
uint8_t tempTX_Head;
|
||||
bool TXBuffer_FreeSpace;
|
||||
USART_Buffer_t * TXbufPtr;
|
||||
|
||||
TXbufPtr = &usart_data->buffer;
|
||||
TXBuffer_FreeSpace = USART_TXBuffer_FreeSpace(usart_data);
|
||||
|
||||
|
||||
if(TXBuffer_FreeSpace)
|
||||
{
|
||||
tempTX_Head = TXbufPtr->TX_Head;
|
||||
TXbufPtr->TX[tempTX_Head]= data;
|
||||
/* Advance buffer head. */
|
||||
TXbufPtr->TX_Head = (tempTX_Head + 1) & USART_TX_BUFFER_MASK;
|
||||
|
||||
/* Enable DRE interrupt. */
|
||||
tempCTRLA = usart_data->usart->CTRLA;
|
||||
tempCTRLA = (tempCTRLA & ~USART_DREINTLVL_gm) | usart_data->dreIntLevel;
|
||||
usart_data->usart->CTRLA = tempCTRLA;
|
||||
}
|
||||
return TXBuffer_FreeSpace;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*! \brief Test if there is data in the receive software buffer.
|
||||
*
|
||||
* This function can be used to test if there is data in the receive software
|
||||
* buffer.
|
||||
*
|
||||
* \param usart_data The USART_data_t struct instance
|
||||
*
|
||||
* \retval true There is data in the receive buffer.
|
||||
* \retval false The receive buffer is empty.
|
||||
*/
|
||||
bool USART_RXBufferData_Available(USART_data_t * usart_data)
|
||||
{
|
||||
/* Make copies to make sure that volatile access is specified. */
|
||||
uint8_t tempHead = usart_data->buffer.RX_Head;
|
||||
uint8_t tempTail = usart_data->buffer.RX_Tail;
|
||||
|
||||
/* There are data left in the buffer unless Head and Tail are equal. */
|
||||
return (tempHead != tempTail);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*! \brief Get received data (5-8 bit character).
|
||||
*
|
||||
* The function USART_RXBufferData_Available should be used before this
|
||||
* function is used to ensure that data is available.
|
||||
*
|
||||
* Returns data from RX software buffer.
|
||||
*
|
||||
* \param usart_data The USART_data_t struct instance.
|
||||
*
|
||||
* \return Received data.
|
||||
*/
|
||||
uint8_t USART_RXBuffer_GetByte(USART_data_t * usart_data)
|
||||
{
|
||||
USART_Buffer_t * bufPtr;
|
||||
uint8_t ans;
|
||||
|
||||
bufPtr = &usart_data->buffer;
|
||||
ans = (bufPtr->RX[bufPtr->RX_Tail]);
|
||||
|
||||
/* Advance buffer tail. */
|
||||
bufPtr->RX_Tail = (bufPtr->RX_Tail + 1) & USART_RX_BUFFER_MASK;
|
||||
|
||||
return ans;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*! \brief RX Complete Interrupt Service Routine.
|
||||
*
|
||||
* RX Complete Interrupt Service Routine.
|
||||
* Stores received data in RX software buffer.
|
||||
*
|
||||
* \param usart_data The USART_data_t struct instance.
|
||||
*/
|
||||
bool USART_RXComplete(USART_data_t * usart_data)
|
||||
{
|
||||
USART_Buffer_t * bufPtr;
|
||||
bool ans;
|
||||
|
||||
bufPtr = &usart_data->buffer;
|
||||
/* Advance buffer head. */
|
||||
uint8_t tempRX_Head = (bufPtr->RX_Head + 1) & USART_RX_BUFFER_MASK;
|
||||
|
||||
/* Check for overflow. */
|
||||
uint8_t tempRX_Tail = bufPtr->RX_Tail;
|
||||
uint8_t data = usart_data->usart->DATA;
|
||||
|
||||
if (tempRX_Head == tempRX_Tail) {
|
||||
ans = false;
|
||||
}else{
|
||||
ans = true;
|
||||
usart_data->buffer.RX[usart_data->buffer.RX_Head] = data;
|
||||
usart_data->buffer.RX_Head = tempRX_Head;
|
||||
}
|
||||
return ans;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*! \brief Data Register Empty Interrupt Service Routine.
|
||||
*
|
||||
* Data Register Empty Interrupt Service Routine.
|
||||
* Transmits one byte from TX software buffer. Disables DRE interrupt if buffer
|
||||
* is empty. Argument is pointer to USART (USART_data_t).
|
||||
*
|
||||
* \param usart_data The USART_data_t struct instance.
|
||||
*/
|
||||
void USART_DataRegEmpty(USART_data_t * usart_data)
|
||||
{
|
||||
USART_Buffer_t * bufPtr;
|
||||
bufPtr = &usart_data->buffer;
|
||||
|
||||
/* Check if all data is transmitted. */
|
||||
uint8_t tempTX_Tail = usart_data->buffer.TX_Tail;
|
||||
if (bufPtr->TX_Head == tempTX_Tail){
|
||||
/* Disable DRE interrupts. */
|
||||
uint8_t tempCTRLA = usart_data->usart->CTRLA;
|
||||
tempCTRLA = (tempCTRLA & ~USART_DREINTLVL_gm) | USART_DREINTLVL_OFF_gc;
|
||||
usart_data->usart->CTRLA = tempCTRLA;
|
||||
|
||||
}else{
|
||||
/* Start transmitting. */
|
||||
uint8_t data = bufPtr->TX[usart_data->buffer.TX_Tail];
|
||||
usart_data->usart->DATA = data;
|
||||
|
||||
/* Advance buffer tail. */
|
||||
bufPtr->TX_Tail = (bufPtr->TX_Tail + 1) & USART_TX_BUFFER_MASK;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*! \brief Put data (9 bit character).
|
||||
*
|
||||
* Use the function USART_IsTXDataRegisterEmpty before using this function to
|
||||
* put 9 bit character to the TX register.
|
||||
*
|
||||
* \param usart The USART module.
|
||||
* \param data The data to send.
|
||||
*/
|
||||
void USART_NineBits_PutChar(USART_t * usart, uint16_t data)
|
||||
{
|
||||
if(data & 0x0100) {
|
||||
usart->CTRLB |= USART_TXB8_bm;
|
||||
}else {
|
||||
usart->CTRLB &= ~USART_TXB8_bm;
|
||||
}
|
||||
|
||||
usart->DATA = (data & 0x00FF);
|
||||
}
|
||||
|
||||
|
||||
/*! \brief Get received data (9 bit character).
|
||||
*
|
||||
* This function reads out the received 9 bit character (uint16_t).
|
||||
* Use the function USART_IsRXComplete to check if anything is received.
|
||||
*
|
||||
* \param usart The USART module.
|
||||
*
|
||||
* \retval Received data.
|
||||
*/
|
||||
uint16_t USART_NineBits_GetChar(USART_t * usart)
|
||||
{
|
||||
if(usart->CTRLB & USART_RXB8_bm) {
|
||||
return(0x0100 | usart->DATA);
|
||||
}else {
|
||||
return(usart->DATA);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,306 @@
|
||||
/* This file has been prepared for Doxygen automatic documentation generation.*/
|
||||
/*! \file *********************************************************************
|
||||
*
|
||||
* \brief XMEGA USART driver header file.
|
||||
*
|
||||
* This file contains the function prototypes and enumerator definitions
|
||||
* for various configuration parameters for the XMEGA USART driver.
|
||||
*
|
||||
* The driver is not intended for size and/or speed critical code, since
|
||||
* most functions are just a few lines of code, and the function call
|
||||
* overhead would decrease code performance. The driver is intended for
|
||||
* rapid prototyping and documentation purposes for getting started with
|
||||
* the XMEGA ADC module.
|
||||
*
|
||||
* For size and/or speed critical code, it is recommended to copy the
|
||||
* function contents directly into your application instead of making
|
||||
* a function call.
|
||||
*
|
||||
* \par Application note:
|
||||
* AVR1307: Using the XMEGA USART
|
||||
*
|
||||
* \par Documentation
|
||||
* For comprehensive code documentation, supported compilers, compiler
|
||||
* settings and supported devices see readme.html
|
||||
*
|
||||
* \author
|
||||
* Atmel Corporation: http://www.atmel.com \n
|
||||
* Support email: avr@atmel.com
|
||||
*
|
||||
* $Revision: 1694 $
|
||||
* $Date: 2008-07-29 14:21:58 +0200 (ti, 29 jul 2008) $ \n
|
||||
*
|
||||
* Copyright (c) 2008, Atmel Corporation All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* 3. The name of ATMEL may not be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND
|
||||
* SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT,
|
||||
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*****************************************************************************/
|
||||
#ifndef USART_DRIVER_H
|
||||
#define USART_DRIVER_H
|
||||
|
||||
#include "avr_compiler.h"
|
||||
|
||||
/* USART buffer defines. */
|
||||
|
||||
/* \brief Receive buffer size: 2,4,8,16,32,64,128 or 256 bytes. */
|
||||
#define USART_RX_BUFFER_SIZE 4
|
||||
/* \brief Transmit buffer size: 2,4,8,16,32,64,128 or 256 bytes */
|
||||
#define USART_TX_BUFFER_SIZE 4
|
||||
/* \brief Receive buffer mask. */
|
||||
#define USART_RX_BUFFER_MASK ( USART_RX_BUFFER_SIZE - 1 )
|
||||
/* \brief Transmit buffer mask. */
|
||||
#define USART_TX_BUFFER_MASK ( USART_TX_BUFFER_SIZE - 1 )
|
||||
|
||||
|
||||
#if ( USART_RX_BUFFER_SIZE & USART_RX_BUFFER_MASK )
|
||||
#error RX buffer size is not a power of 2
|
||||
#endif
|
||||
#if ( USART_TX_BUFFER_SIZE & USART_TX_BUFFER_MASK )
|
||||
#error TX buffer size is not a power of 2
|
||||
#endif
|
||||
|
||||
|
||||
/* \brief USART transmit and receive ring buffer. */
|
||||
typedef struct USART_Buffer
|
||||
{
|
||||
/* \brief Receive buffer. */
|
||||
volatile uint8_t RX[USART_RX_BUFFER_SIZE];
|
||||
/* \brief Transmit buffer. */
|
||||
volatile uint8_t TX[USART_TX_BUFFER_SIZE];
|
||||
/* \brief Receive buffer head. */
|
||||
volatile uint8_t RX_Head;
|
||||
/* \brief Receive buffer tail. */
|
||||
volatile uint8_t RX_Tail;
|
||||
/* \brief Transmit buffer head. */
|
||||
volatile uint8_t TX_Head;
|
||||
/* \brief Transmit buffer tail. */
|
||||
volatile uint8_t TX_Tail;
|
||||
} USART_Buffer_t;
|
||||
|
||||
|
||||
/*! \brief Struct used when interrupt driven driver is used.
|
||||
*
|
||||
* Struct containing pointer to a usart, a buffer and a location to store Data
|
||||
* register interrupt level temporary.
|
||||
*/
|
||||
typedef struct Usart_and_buffer
|
||||
{
|
||||
/* \brief Pointer to USART module to use. */
|
||||
USART_t * usart;
|
||||
/* \brief Data register empty interrupt level. */
|
||||
USART_DREINTLVL_t dreIntLevel;
|
||||
/* \brief Data buffer. */
|
||||
USART_Buffer_t buffer;
|
||||
} USART_data_t;
|
||||
|
||||
|
||||
/* Macros. */
|
||||
|
||||
/*! \brief Macro that sets the USART frame format.
|
||||
*
|
||||
* Sets the frame format, Frame Size, parity mode and number of stop bits.
|
||||
*
|
||||
* \param _usart Pointer to the USART module
|
||||
* \param _charSize The character size. Use USART_CHSIZE_t type.
|
||||
* \param _parityMode The parity Mode. Use USART_PMODE_t type.
|
||||
* \param _twoStopBits Enable two stop bit mode. Use bool type.
|
||||
*/
|
||||
#define USART_Format_Set(_usart, _charSize, _parityMode, _twoStopBits) \
|
||||
(_usart)->CTRLC = (uint8_t) _charSize | _parityMode | \
|
||||
(_twoStopBits ? USART_SBMODE_bm : 0)
|
||||
|
||||
|
||||
/*! \brief Set USART baud rate.
|
||||
*
|
||||
* Sets the USART's baud rate register.
|
||||
*
|
||||
* UBRR_Value : Value written to UBRR
|
||||
* ScaleFactor : Time Base Generator Scale Factor
|
||||
*
|
||||
* Equation for calculation of BSEL value in asynchronous normal speed mode:
|
||||
* If ScaleFactor >= 0
|
||||
* BSEL = ((I/O clock frequency)/(2^(ScaleFactor)*16*Baudrate))-1
|
||||
* If ScaleFactor < 0
|
||||
* BSEL = (1/(2^(ScaleFactor)*16))*(((I/O clock frequency)/Baudrate)-1)
|
||||
*
|
||||
* \note See XMEGA manual for equations for calculation of BSEL value in other
|
||||
* modes.
|
||||
*
|
||||
* \param _usart Pointer to the USART module.
|
||||
* \param _bselValue Value to write to BSEL part of Baud control register.
|
||||
* Use uint16_t type.
|
||||
* \param _bScaleFactor USART baud rate scale factor.
|
||||
* Use uint8_t type
|
||||
*/
|
||||
#define USART_Baudrate_Set(_usart, _bselValue, _bScaleFactor) \
|
||||
(_usart)->BAUDCTRLA =(uint8_t)_bselValue; \
|
||||
(_usart)->BAUDCTRLB =(_bScaleFactor << USART_BSCALE0_bp)|(_bselValue >> 8)
|
||||
|
||||
|
||||
/*! \brief Enable USART receiver.
|
||||
*
|
||||
* \param _usart Pointer to the USART module
|
||||
*/
|
||||
#define USART_Rx_Enable(_usart) ((_usart)->CTRLB |= USART_RXEN_bm)
|
||||
|
||||
|
||||
/*! \brief Disable USART receiver.
|
||||
*
|
||||
* \param _usart Pointer to the USART module.
|
||||
*/
|
||||
#define USART_Rx_Disable(_usart) ((_usart)->CTRLB &= ~USART_RXEN_bm)
|
||||
|
||||
|
||||
/*! \brief Enable USART transmitter.
|
||||
*
|
||||
* \param _usart Pointer to the USART module.
|
||||
*/
|
||||
#define USART_Tx_Enable(_usart) ((_usart)->CTRLB |= USART_TXEN_bm)
|
||||
|
||||
|
||||
/*! \brief Disable USART transmitter.
|
||||
*
|
||||
* \param _usart Pointer to the USART module.
|
||||
*/
|
||||
#define USART_Tx_Disable(_usart) ((_usart)->CTRLB &= ~USART_TXEN_bm)
|
||||
|
||||
|
||||
/*! \brief Set USART RXD interrupt level.
|
||||
*
|
||||
* Sets the interrupt level on RX Complete interrupt.
|
||||
*
|
||||
* \param _usart Pointer to the USART module.
|
||||
* \param _rxdIntLevel Interrupt level of the RXD interrupt.
|
||||
* Use USART_RXCINTLVL_t type.
|
||||
*/
|
||||
#define USART_RxdInterruptLevel_Set(_usart, _rxdIntLevel) \
|
||||
((_usart)->CTRLA = ((_usart)->CTRLA & ~USART_RXCINTLVL_gm) | _rxdIntLevel)
|
||||
|
||||
|
||||
/*! \brief Set USART TXD interrupt level.
|
||||
*
|
||||
* Sets the interrupt level on TX Complete interrupt.
|
||||
*
|
||||
* \param _usart Pointer to the USART module.
|
||||
* \param _txdIntLevel Interrupt level of the TXD interrupt.
|
||||
* Use USART_TXCINTLVL_t type.
|
||||
*/
|
||||
#define USART_TxdInterruptLevel_Set(_usart, _txdIntLevel) \
|
||||
(_usart)->CTRLA = ((_usart)->CTRLA & ~USART_TXCINTLVL_gm) | _txdIntLevel
|
||||
|
||||
|
||||
|
||||
/*! \brief Set USART DRE interrupt level.
|
||||
*
|
||||
* Sets the interrupt level on Data Register interrupt.
|
||||
*
|
||||
* \param _usart Pointer to the USART module.
|
||||
* \param _dreIntLevel Interrupt level of the DRE interrupt.
|
||||
* Use USART_DREINTLVL_t type.
|
||||
*/
|
||||
#define USART_DreInterruptLevel_Set(_usart, _dreIntLevel) \
|
||||
(_usart)->CTRLA = ((_usart)->CTRLA & ~USART_DREINTLVL_gm) | _dreIntLevel
|
||||
|
||||
|
||||
/*! \brief Set the mode the USART run in.
|
||||
*
|
||||
* Set the mode the USART run in. The default mode is asynchronous mode.
|
||||
*
|
||||
* \param _usart Pointer to the USART module register section.
|
||||
* \param _usartMode Selects the USART mode. Use USART_CMODE_t type.
|
||||
*
|
||||
* USART modes:
|
||||
* - 0x0 : Asynchronous mode.
|
||||
* - 0x1 : Synchronous mode.
|
||||
* - 0x2 : IrDA mode.
|
||||
* - 0x3 : Master SPI mode.
|
||||
*/
|
||||
#define USART_SetMode(_usart, _usartMode) \
|
||||
((_usart)->CTRLC = ((_usart)->CTRLC & (~USART_CMODE_gm)) | _usartMode)
|
||||
|
||||
|
||||
|
||||
/*! \brief Check if data register empty flag is set.
|
||||
*
|
||||
* \param _usart The USART module.
|
||||
*/
|
||||
#define USART_IsTXDataRegisterEmpty(_usart) (((_usart)->STATUS & USART_DREIF_bm) != 0)
|
||||
|
||||
|
||||
|
||||
/*! \brief Put data (5-8 bit character).
|
||||
*
|
||||
* Use the macro USART_IsTXDataRegisterEmpty before using this function to
|
||||
* put data to the TX register.
|
||||
*
|
||||
* \param _usart The USART module.
|
||||
* \param _data The data to send.
|
||||
*/
|
||||
#define USART_PutChar(_usart, _data) ((_usart)->DATA = _data)
|
||||
|
||||
|
||||
|
||||
/*! \brief Checks if the RX complete interrupt flag is set.
|
||||
*
|
||||
* Checks if the RX complete interrupt flag is set.
|
||||
*
|
||||
* \param _usart The USART module.
|
||||
*/
|
||||
#define USART_IsRXComplete(_usart) (((_usart)->STATUS & USART_RXCIF_bm) != 0)
|
||||
|
||||
|
||||
|
||||
|
||||
/*! \brief Get received data (5-8 bit character).
|
||||
*
|
||||
* This macro reads out the RX register.
|
||||
* Use the macro USART_RX_Complete to check if anything is received.
|
||||
*
|
||||
* \param _usart The USART module.
|
||||
*
|
||||
* \retval Received data.
|
||||
*/
|
||||
#define USART_GetChar(_usart) ((_usart)->DATA)
|
||||
|
||||
|
||||
/* Functions for interrupt driven driver. */
|
||||
void USART_InterruptDriver_Initialize(USART_data_t * usart_data,
|
||||
USART_t * usart,
|
||||
USART_DREINTLVL_t dreIntLevel );
|
||||
|
||||
void USART_InterruptDriver_DreInterruptLevel_Set(USART_data_t * usart_data,
|
||||
USART_DREINTLVL_t dreIntLevel);
|
||||
|
||||
bool USART_TXBuffer_FreeSpace(USART_data_t * usart_data);
|
||||
bool USART_TXBuffer_PutByte(USART_data_t * usart_data, uint8_t data);
|
||||
bool USART_RXBufferData_Available(USART_data_t * usart_data);
|
||||
uint8_t USART_RXBuffer_GetByte(USART_data_t * usart_data);
|
||||
bool USART_RXComplete(USART_data_t * usart_data);
|
||||
void USART_DataRegEmpty(USART_data_t * usart_data);
|
||||
|
||||
/* Functions for polled driver. */
|
||||
void USART_NineBits_PutChar(USART_t * usart, uint16_t data);
|
||||
uint16_t USART_NineBits_GetChar(USART_t * usart);
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,3 @@
|
||||
Firmware for all final boards should go here.
|
||||
|
||||
All firmware developed using Atmel Studio 6.2.
|
||||
Reference in New Issue
Block a user