Cubelets API Documentation 2.0
C API
Loading...
Searching...
No Matches
rotate.c File Reference

Detailed Description

Bi-Directional

#include "cubelet.h"
void setup()
{
}
void loop()
{
block_value = weighted_average();
uint8_t motor_speed;
if (block_value < 128){ //reverse
set_drive_direction(BACKWARD);
motor_speed = 2 * (127 - block_value);
}
else { //forward
set_drive_direction(FORWARD);
motor_speed = 2 * (block_value - 128);
}
set_drive(motor_speed);
}
uint8_t weighted_average(void)
Calculates a block value based on the on the weighted average of neighbors block values.
void setup()
Function ran just a single time. Used for setting up variables or timers.
Definition bargraph.c:3
void loop()
The loop() function gets called repeatedly while a Cubelet is powered on.
Definition bargraph.c:8
#define FORWARD
Definition motor.h:14
#define BACKWARD
Definition motor.h:19

Counter Clockwise

#include "cubelet.h"
void setup()
{
set_drive_direction(BACKWARD);
}
void loop()
{
block_value = weighted_average();
set_drive(block_value);
}