Created
February 9, 2016 23:25
-
-
Save gokr/8360f68d537b1ba7db17 to your computer and use it in GitHub Desktop.
Blink for LinkIt One in Nim
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* Generated by Nim Compiler v0.13.1 */ | |
/* (c) 2015 Andreas Rumpf */ | |
/* The generated code is subject to the original license. */ | |
#define NIM_INTBITS 32 | |
#include "nimbase.h" | |
#include "wiring_digital.h" | |
#include "wiring.h" | |
N_NIMCALL(void, setup)(void); | |
N_NIMCALL(void, loop)(void); | |
NIM_EXTERNC N_NOINLINE(void, systemInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, systemDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_binaryInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_binaryDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_itoaInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_itoaDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmdatetimeInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmdatetimeDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmuimiscInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmuimiscDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmpwrInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmpwrDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmotaInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmotaDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmappmgrInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmappmgrDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmpromngInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmpromngDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmsysInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmsysDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmdclInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmdclDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_wiring_constantsInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_wiring_constantsDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_variantInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_variantDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_wiringInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_wiringDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_wiring_digitalInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_wiring_digitalDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_wiring_analogInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_wiring_analogDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_wiring_shiftInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_wiring_shiftDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_WInterruptsInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_WInterruptsDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmthreadInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_vmthreadDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_messageInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_messageDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_arduinoInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, HEX00_arduinoDatInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, blinkInit000)(void); | |
NIM_EXTERNC N_NOINLINE(void, blinkDatInit000)(void); | |
N_NIMCALL(void, setup)(void) { | |
pinMode(((NU32) 13), ((NU32) 1)); | |
} | |
N_NIMCALL(void, loop)(void) { | |
{ | |
while (1) { | |
digitalWrite(((NU32) 13), ((NU32) 0)); | |
delay(((NU32) 1000)); | |
digitalWrite(((NU32) 13), ((NU32) 1)); | |
delay(((NU32) 1000)); | |
} | |
} | |
} | |
void PreMainInner() { | |
systemInit000(); | |
HEX00_binaryDatInit000(); | |
HEX00_itoaDatInit000(); | |
HEX00_vmdatetimeDatInit000(); | |
HEX00_vmuimiscDatInit000(); | |
HEX00_vmpwrDatInit000(); | |
HEX00_vmotaDatInit000(); | |
HEX00_vmappmgrDatInit000(); | |
HEX00_vmpromngDatInit000(); | |
HEX00_vmsysDatInit000(); | |
HEX00_vmdclDatInit000(); | |
HEX00_wiring_constantsDatInit000(); | |
HEX00_variantDatInit000(); | |
HEX00_wiringDatInit000(); | |
HEX00_wiring_digitalDatInit000(); | |
HEX00_wiring_analogDatInit000(); | |
HEX00_wiring_shiftDatInit000(); | |
HEX00_WInterruptsDatInit000(); | |
HEX00_vmthreadDatInit000(); | |
HEX00_messageDatInit000(); | |
HEX00_arduinoDatInit000(); | |
blinkDatInit000(); | |
HEX00_binaryInit000(); | |
HEX00_itoaInit000(); | |
HEX00_vmdatetimeInit000(); | |
HEX00_vmuimiscInit000(); | |
HEX00_vmpwrInit000(); | |
HEX00_vmotaInit000(); | |
HEX00_vmappmgrInit000(); | |
HEX00_vmpromngInit000(); | |
HEX00_vmsysInit000(); | |
HEX00_vmdclInit000(); | |
HEX00_wiring_constantsInit000(); | |
HEX00_variantInit000(); | |
HEX00_wiringInit000(); | |
HEX00_wiring_digitalInit000(); | |
HEX00_wiring_analogInit000(); | |
HEX00_wiring_shiftInit000(); | |
HEX00_WInterruptsInit000(); | |
HEX00_vmthreadInit000(); | |
HEX00_messageInit000(); | |
HEX00_arduinoInit000(); | |
} | |
void PreMain() { | |
void (*volatile inner)(); | |
systemDatInit000(); | |
inner = PreMainInner; | |
(*inner)(); | |
} | |
int cmdCount; | |
char** cmdLine; | |
char** gEnv; | |
N_CDECL(void, NimMainInner)(void) { | |
blinkInit000(); | |
} | |
N_CDECL(void, NimMain)(void) { | |
void (*volatile inner)(); | |
PreMain(); | |
inner = NimMainInner; | |
(*inner)(); | |
} | |
NIM_EXTERNC N_NOINLINE(void, blinkInit000)(void) { | |
} | |
NIM_EXTERNC N_NOINLINE(void, blinkDatInit000)(void) { | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <Arduino.h> | |
// the setup function runs once when you press reset or power the board | |
void setup(); | |
void loop(); | |
void setup() { | |
// initialize digital pin 13 as an output. | |
pinMode(13, OUTPUT); | |
} | |
// the loop function runs over and over again forever | |
void loop() { | |
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level) | |
delay(1000); // wait for a second | |
digitalWrite(13, LOW); // turn the LED off by making the voltage LOW | |
delay(1000); // wait for a second | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import arduino | |
import wiring | |
import wiring_digital | |
import wiring_constants | |
proc setup*() {.exportc.} = | |
pinMode(13, OUTPUT) | |
proc loop*() {.exportc.} = | |
while true: | |
digitalWrite(13, LOW) | |
delay(1000) | |
digitalWrite(13, HIGH) | |
delay(1000) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment