/*******************************************************************************
* Ark Wallet
* (c) 2017 Ledger
* (c) ARK Ecosystem
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
********************************************************************************/
#ifndef ARK_LEDGER_UNPACK_H
#define ARK_LEDGER_UNPACK_H
#include <os.h>
//////////////////////////////////////////////////////////////////////
#define U8BE(buf, off) (((uint64_t)(U4BE(buf, off) & 0xFFFFFFFF) << 32U) | \
((uint64_t)(U4BE(buf, off + sizeof(uint32_t))) & 0xFFFFFFFF))
#define U8LE(buf, off) (((uint64_t)(U4LE(buf, off)) & 0xFFFFFFFF) | \
((uint64_t)(U4LE(buf, off + sizeof(uint32_t)) & 0xFFFFFFFF) << 32U))
//////////////////////////////////////////////////////////////////////
#endif
/*
Speed up the motor
This example shows how to control the speed of a DC motor an LED on pin 9 using the analogWrite() function. This example based on the Arduino Example Fade sketch but modified to use timing instead of the delay() function
*/
int turns = 0; // how fast the motor runs
int turnAmount = 1; // how many turns the motor makes
unsigned long currentTime;
unsigned long loopTime;
void setup() {
// declare pin 9 to be an output:
pinMode(9, OUTPUT);
currentTime = millis();
loopTime = currentTime;
}
void loop() {
currentTime = millis();
if(currentTime >= (loopTime + 20)){
// set the speed of pin 9:
analogWrite(9, turns);
// change the turnings for next time through the loop:
turns = turns + turnAmount;
// speed up or slow down the motor
if (turns == 0 || turns == 255) {
turnAmount = -turnAmount ;
}
if (turns == 0) {
delay(5000);
}
loopTime = currentTime; // Updates loopTime
}
// Other processing can be done here
}
/*
Speed up the motor
This example shows how to control the speed of a DC motor an LED on pin 9 using the analogWrite() function. This example based on the Arduino Example Fade sketch but modified to use timing instead of the delay() function
*/
int turns = 0; // how fast the motor runs
int turnAmount = 1; // how many turns the motor makes
unsigned long currentTime;
unsigned long loopTime;
void setup() {
// declare pin 9 to be an output:
pinMode(9, OUTPUT);
currentTime = millis();
loopTime = currentTime;
}
void loop() {
currentTime = millis();
if(currentTime >= (loopTime + 20)){
// set the speed of pin 9:
analogWrite(9, turns);
// change the turnings for next time through the loop:
turns = turns + turnAmount;
// speed up or slow down the motor
if (turns == 0 || turns == 255) {
turnAmount = -turnAmount ;
}
if (turns == 0) {
delay(5000);
}
loopTime = currentTime; // Updates loopTime
}
// Other processing can be done here
}