Stap 7: De Trakr Program
////////////////////////////////////////////
relaycontrol app voor Spy Video TRAKR.
Programma scant om te zien als knop A was
gedrukt op TRAKR externe en sets GPC0 hoog
en te verzenden door hoge GPC1
een relais elektromagnetische spoel. Dit zal
activeren van de relay switch sluiten de
circuit van een extern apparaat.
///////////////////////////////////////////
#include "svt.h" //include officiële API
#include "JAPI.h" //include "Geheime saus" API
#define GPC0 (1 << 0) //bitmask voor pin GPC0 = 00000001
#define GPC1 (1 << 1) //bitmask voor pin GPC1 = 00000010
#define GPC2 (1 << 2) //bitmask voor pin GPC2 00000100 =
#define GPC3 (1 << 3) //bitmask voor pin GPC3 00001000 =
#define GPC4 (1 << 4) //bitmask voor pin GPC4 00010000 =
#define GPC5 (1 << 5) //bitmask voor pin GPC5 00100000 =
#define GPC6 (1 << 6) //bitmask voor pin GPC6 01000000 =
#define GPC7 (1 << 7) //bitmask voor pin GPC7 10000000 =
int keyState; define "keystate" als geheel getal
VOID Start()
{
JAPI_SetIoOutputMode(GPC0+GPC1); //Set uitvoermodus voor PIN GPC0 en GPC1
}
BOOL Run()
{
keyState=GetRemoteKeys(); TRAKR-toets van de afstandsbediening ingedrukt
toewijzen aan keystate
Als (keyState > 0)
{//if keystate groter is dan 0
if(keyState&KEY_INPUT1)
{//Button een geperst
JAPI_SetIoHigh(GPC0+GPC1); //Set GPC0 en GPC1 pinnen hoge (3,3 v)
} else {}
JAPI_SetIoLow(GPC0+GPC1); Schakel pinnen, GPC0 en GPC1
}
if(keyState&KEY_HOME)
{//if thuisknop ingedrukt
return false; Dit zal het einde van de lus
}
}
return true; lus zal herhalen tot vals
}
VOID End()
{//Program einde - Schakel beide pins
JAPI_SetIoLow(GPC0+GPC1);
}
En daarna is het Make-bestand:
# Makefile voor TRAKR speelgoed
# Trakr Project
TRACKR_PATH = C:/Trackr
Programmanaam = relaycontrol
PRETTY_NAME = relaycontrol
OUTPUT_PATH =. / Intermediate
OUTPUT_NAME = $(OUTPUT_PATH) / $(programmanaam) elf
INTERNALS_PATH =... / Internals
BRONNEN = app.c
S_OBJECTS = $(OUTPUT_PATH)/app.o
OBJECTEN = $(S_OBJECTS) $(INTERNALS_PATH)/trakr.a
SHELL = sh
CC = arm-elf-gcc
AS = arm-elf-as
BIN = arm-elf-ld
LD = arm-elf-ld
TOPMEMORY = 0XFFE7C000
CFLAGS = - O0-IK... / Internals/Include-ik... / Internals-wand - gstabs +
TARGET_FLAG = - mcpu = arm926ejs - mapcs-32 - mlittle-endian - specs=specs.semi
LDFLAGS = -T... /Internals/WJ_APP_8M.LD -Wl,--defsym-Wl,__stack_base=$(TOPMEMORY) -Wl,-kaart -Wl, $(basename $ - nostartfiles-static
alle: voorbereidende build maken van $(OUTPUT_NAME) postbuild
$(OUTPUT_NAME): $(OBJECTS)
"Link... "
"Het creëren bestand $
-u _start -o $@ $(INTERNALS_PATH)/trakr_start.a $(OBJECTS) $(TARGET_FLAG) $(LDFLAGS)
$(OUTPUT_PATH)/app.o:app.c Makefile
"Samenstellen van $<"
-c -o "$" $< "$(TARGET_FLAG) $(CFLAGS)
. NEP: schoon prebuild postbuild
schoon:
$(RM) -f $(programmanaam) .bin
$(RM) -f "$(PRETTY_NAME) .bin"
$(RM) -f $(OUTPUT_PATH)/app.o
$(RM) -f $(OUTPUT_NAME)
$(RM) -f $(MKDEPFILE)
postbuild:
kunnen worden arm-elf-objcopy - O binaire $(OUTPUT_NAME) "$(PRETTY_NAME) .bin"
[ -d "E:/" ] ; vervolgens \
CP "$(PRETTY_NAME) .bin" e:/APPS /; \
fi
voorbereidende build maken van:
# Einde van Makefile
Zorg ervoor dat de Trakr uitstaat en aansluiten op uw computer met behulp van de gele USB-kabel die bij de Trakr. Kopieer relaycontrol.bin naar de APPS-map in de map Trakr. De Trakr van de computer loskoppelt en zet de Trakr. Schakel de externe Trakr, klik op de home-knop en selecteer relaycontrol uit het menu. Gebruik de Trakr van externe contol rijdt de Trakr naar een taget. Doel van de Trakr camera rechtstreeks op het doel en drukt u op de knop A op de afstandsbediening tot de brand van schuim darts op het doel.
Gefeliciteerd! In dit Instructable hebt u geleerd hoe te kappen het Spy Video Trakr. Hebt u geleerd hoe download en installeer de taal C compiler voor de Trakr. Hebt u geleerd hoe een eenvoudige programma compileren en installeren op het Trakr en voer dit eenvoudige programma. Vervolgens hebt u geleerd hoe de Trakr openstellen, jumperpinnen hechten aan de GPIO-aansluitingen op de belangrijkste printplaat van de Trakr. Hebt u geleerd hoe een elektronische relay werkt, wat het elektronische schematische diagram voor een relay eruit ziet, en ziet een werkelijke elektronisch circuit diagram waarin de estafette wordt gebruikt. Hebt u geleerd hoe maken conversie kabels de Trakr verbinden met externe apparaten. U geleerd hoe te maken van een grotere lading dek voor de Trakr en een schuim platform voor de Lanceerinrichting van de raket te monteren op het dek van de lading Lego. U geleerd hoe te boren in de Trakr van 9 en 5 volt voedingen. Ook geleerd u hoe u met het elektronische relais controle een schuim dart USB missile launcher. Tot slot hebt u geleerd hoe schrijven en compileren van een programma voor brand raketten van de Lanceerinrichting van de raket schuim en installeren op het Trakr en voer het programma.