Compare commits
4 commits
691057a163
...
a88fae412e
Author | SHA1 | Date | |
---|---|---|---|
|
a88fae412e | ||
|
91edc72f38 | ||
|
0ad78b2671 | ||
|
2c78ea4130 |
4 changed files with 21 additions and 22 deletions
|
@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.20)
|
|||
|
||||
# Use the fancy version substitution
|
||||
project(main
|
||||
VERSION 0.1.1
|
||||
VERSION 0.1.2
|
||||
DESCRIPTION "template for cmake + cpputest"
|
||||
LANGUAGES C CXX
|
||||
)
|
||||
|
|
8
otto.sh
8
otto.sh
|
@ -180,7 +180,7 @@ cross_compile () {
|
|||
|
||||
build_release() {
|
||||
clear_cmake_cache
|
||||
cmake -DCAM_HANDLER_LIB=ON -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE} ../
|
||||
cmake -DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE} ../
|
||||
make
|
||||
}
|
||||
|
||||
|
@ -197,7 +197,7 @@ build_hex () {
|
|||
CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${AVR_TC}"
|
||||
|
||||
cmake ${CMAKE_ARGS} ../
|
||||
make all
|
||||
make main
|
||||
make hex
|
||||
}
|
||||
|
||||
|
@ -208,7 +208,7 @@ build_hex_optimized () {
|
|||
CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${AVR_TC}"
|
||||
|
||||
cmake ${CMAKE_ARGS} ../
|
||||
make all
|
||||
make main
|
||||
make hex-release
|
||||
}
|
||||
|
||||
|
@ -229,7 +229,7 @@ print_menu () {
|
|||
echo "0. Add Mock Module"
|
||||
echo "1. Run Tests"
|
||||
echo "2. Build Project(hex)"
|
||||
echo "3. Build for release(hex)"
|
||||
echo "3. User Option"
|
||||
echo "4. Flash to AVR"
|
||||
echo "5. Add new module to project"
|
||||
echo "6. Delete module from project"
|
||||
|
|
|
@ -8,7 +8,7 @@ set_target_properties(${PROJECT_NAME} PROPERTIES SUFFIX ".elf")
|
|||
if(NOT TARGET size)
|
||||
# Set the size utility to display the size of the final binary
|
||||
add_custom_target(size ALL
|
||||
COMMAND ${CMAKE_SIZE} --format=avr --mcu=${AVR_MCU} ${CMAKE_PROJECT_NAME}.elf
|
||||
COMMAND ${CMAKE_SIZE} -G --target=elf32-avr ${CMAKE_PROJECT_NAME}.elf
|
||||
DEPENDS ${CMAKE_PROJECT_NAME}.elf
|
||||
)
|
||||
endif()
|
||||
|
|
31
src/main.c
31
src/main.c
|
@ -101,10 +101,10 @@ uint16_t ReadADC(void) {
|
|||
*/
|
||||
|
||||
static inline uint8_t diff(uint8_t a, uint8_t b) {
|
||||
if(a > b){
|
||||
return a - b;
|
||||
}
|
||||
return b - a;
|
||||
if (a > b) {
|
||||
return a - b;
|
||||
}
|
||||
return b - a;
|
||||
}
|
||||
|
||||
void MotorSetSavePos() {
|
||||
|
@ -118,8 +118,8 @@ uint8_t MotorGetSavedPos(void) {
|
|||
}
|
||||
|
||||
void MotorMoveTo(uint8_t target) {
|
||||
|
||||
uint8_t pos = (uint8_t)(ReadADC() >> 2);
|
||||
|
||||
uint8_t pos = (uint8_t)(ReadADC() >> 2);
|
||||
|
||||
while (diff(target, pos) > 8) {
|
||||
pos = (uint8_t)(ReadADC() >> 2);
|
||||
|
@ -128,11 +128,11 @@ void MotorMoveTo(uint8_t target) {
|
|||
} else {
|
||||
MotorMove(0);
|
||||
}
|
||||
|
||||
|
||||
// The delay ratio controlls the PWM waveforms.
|
||||
//_delay_ms(5);
|
||||
// MotorCoast();
|
||||
// _delay_ms(5);
|
||||
// MotorCoast();
|
||||
// _delay_ms(5);
|
||||
}
|
||||
|
||||
return;
|
||||
|
@ -212,7 +212,7 @@ static void UpdateButtonInput(btn_state *b) {
|
|||
static void UpdateButtonOutput(btn_state *b) {
|
||||
/*If the button is actually pressed.*/
|
||||
if (b->is_pressed) {
|
||||
b->is_active = 1;
|
||||
b->is_active = 1;
|
||||
|
||||
/*If this is a new event.*/
|
||||
if (!b->is_long_pressed && !b->timer_enabled) {
|
||||
|
@ -242,12 +242,11 @@ static void UpdateButtonOutput(btn_state *b) {
|
|||
}
|
||||
/*If the button pres was a short one.*/
|
||||
else if (!b->is_long_pressed) {
|
||||
if(b->is_active) {
|
||||
MotorMoveTo(MotorGetSavedPos());
|
||||
}
|
||||
else{
|
||||
MotorCoast();
|
||||
}
|
||||
if (b->is_active) {
|
||||
MotorMoveTo(MotorGetSavedPos());
|
||||
} else {
|
||||
MotorCoast();
|
||||
}
|
||||
}
|
||||
b->is_active = 0;
|
||||
ClearButtonTimer(b);
|
||||
|
|
Loading…
Add table
Reference in a new issue