Squirrels have fuzzy tails.
0 Members and 1 Guest are viewing this topic.
void grip(void){ int example = 1; example = 2;}TICK_COUNT appControl(bla bla){ grip(); callSomeOtherFunc();}
I'm not getting this to work for my gripper arm. I'm getting an error saying void value not ignored as it ought to be.Code: [Select]#include "sys/axon.h"#include "a2d.h"#include "servos.h"//define gripper arm to ADC channel 13//#define value ADC_NUMBER_TO_CHANNEL(13)// Define two motorsSERVO m2a = MAKE_SERVO(FALSE, E5,1499,453); //left sideSERVO m1a = MAKE_SERVO(TRUE, E4,1500,503); //right sideSERVO arm = MAKE_SERVO(FALSE, H4,1500,500); //gripper armSERVO mini = MAKE_SERVO(TRUE, H3, 875,490); //mini servo// Create the list - remember to place an & at the start of each servo nameSERVO_LIST servos[] = {&m1a,&m2a,&arm,&mini};// Create a driver for the list of servosSERVO_DRIVER bank1 = MAKE_SERVO_DRIVER(servos);// Global variable that indicates the current state//uint8_t state;// Initialise the servosvoid appInitHardware(void) { servoPWMInit(&bank1); }TICK_COUNT appInitSoftware(TICK_COUNT loopStart) { return 0; }TICK_COUNT appControl(LOOP_COUNT loopCount, TICK_COUNT loopStart) { void grip(void) { act_setSpeed(&mini,29); delay_ms(3000); act_setSpeed(&mini,DRIVE_SPEED_BRAKE); delay_ms(2000); } if(grip()) { act_setSpeed(&arm,20); delay_ms(10000); act_setSpeed(&arm,DRIVE_SPEED_BRAKE); delay_ms(10000); } //act_setSpeed(&m1a,DRIVE_SPEED_MAX); //act_setSpeed(&m2a,DRIVE_SPEED_MAX); return 0; }
#include "sys/axon.h"#include "a2d.h"#include "servos.h"//define gripper arm to ADC channel 13//#define value ADC_NUMBER_TO_CHANNEL(13)// Define two motorsSERVO m2a = MAKE_SERVO(FALSE, E5,1499,453); //left sideSERVO m1a = MAKE_SERVO(TRUE, E4,1500,503); //right sideSERVO arm = MAKE_SERVO(FALSE, H4,1500,500); //gripper armSERVO mini = MAKE_SERVO(TRUE, H3, 875,490); //mini servo// Create the list - remember to place an & at the start of each servo nameSERVO_LIST servos[] = {&m1a,&m2a,&arm,&mini};// Create a driver for the list of servosSERVO_DRIVER bank1 = MAKE_SERVO_DRIVER(servos);// Global variable that indicates the current state//uint8_t state;// Initialise the servosvoid appInitHardware(void) { servoPWMInit(&bank1); }TICK_COUNT appInitSoftware(TICK_COUNT loopStart) { return 0; }TICK_COUNT appControl(LOOP_COUNT loopCount, TICK_COUNT loopStart) { void grip(void) { act_setSpeed(&mini,29); delay_ms(3000); act_setSpeed(&mini,DRIVE_SPEED_BRAKE); delay_ms(2000); } if(grip()) { act_setSpeed(&arm,20); delay_ms(10000); act_setSpeed(&arm,DRIVE_SPEED_BRAKE); delay_ms(10000); } //act_setSpeed(&m1a,DRIVE_SPEED_MAX); //act_setSpeed(&m2a,DRIVE_SPEED_MAX); return 0; }
We're not actually trying to test anything actually. I'm just looking for a way to trigger some other lines of code if these lines are run. Is there another way in C to do this??
#include "sys/axon.h"#include "a2d.h"#include "servos.h"//define gripper arm to ADC channel 13//#define value ADC_NUMBER_TO_CHANNEL(13)// Define two motorsSERVO m2a = MAKE_SERVO(FALSE, E5,1499,453); //left sideSERVO m1a = MAKE_SERVO(TRUE, E4,1500,503); //right sideSERVO arm = MAKE_SERVO(FALSE, H4,1500,500); //gripper armSERVO mini = MAKE_SERVO(TRUE, H3, 875,490); //mini servo// Create the list - remember to place an & at the start of each servo nameSERVO_LIST servos[] = {&m1a,&m2a,&arm,&mini};// Create a driver for the list of servosSERVO_DRIVER bank1 = MAKE_SERVO_DRIVER(servos);// Global variable that indicates the current state//uint8_t state;// Initialise the servosvoid appInitHardware(void) { servoPWMInit(&bank1); }TICK_COUNT appInitSoftware(TICK_COUNT loopStart) { return 0; }TICK_COUNT appControl(LOOP_COUNT loopCount, TICK_COUNT loopStart) { void grip(void) { act_setSpeed(&mini,29); delay_ms(3000); act_setSpeed(&mini,DRIVE_SPEED_BRAKE); delay_ms(2000); } grip(); act_setSpeed(&arm,20); delay_ms(10000); act_setSpeed(&arm,DRIVE_SPEED_BRAKE); delay_ms(10000); //act_setSpeed(&m1a,DRIVE_SPEED_MAX); //act_setSpeed(&m2a,DRIVE_SPEED_MAX); return 0;}
#include "sys/axon.h"#include "a2d.h"#include "servos.h"//define gripper arm to ADC channel 13//#define value ADC_NUMBER_TO_CHANNEL(13)// Define two motorsSERVO m2a = MAKE_SERVO(FALSE, E5,1499,453); //left sideSERVO m1a = MAKE_SERVO(TRUE, E4,1500,503); //right sideSERVO arm = MAKE_SERVO(FALSE, H4,1500,500); //gripper armSERVO mini = MAKE_SERVO(TRUE, H3, 875,490); //mini servo// Create the list - remember to place an & at the start of each servo nameSERVO_LIST servos[] = {&m1a,&m2a,&arm,&mini};// Create a driver for the list of servosSERVO_DRIVER bank1 = MAKE_SERVO_DRIVER(servos);// Global variable that indicates the current state//uint8_t state;// Initialise the servosvoid appInitHardware(void) { servoPWMInit(&bank1); }TICK_COUNT appInitSoftware(TICK_COUNT loopStart) { return 0; }void grip(void){ act_setSpeed(&mini,29); delay_ms(3000); act_setSpeed(&mini,DRIVE_SPEED_BRAKE); delay_ms(2000);}TICK_COUNT appControl(LOOP_COUNT loopCount, TICK_COUNT loopStart) { grip(); act_setSpeed(&arm,20); delay_ms(10000); act_setSpeed(&arm,DRIVE_SPEED_BRAKE); delay_ms(10000); //act_setSpeed(&m1a,DRIVE_SPEED_MAX); //act_setSpeed(&m2a,DRIVE_SPEED_MAX); return 0;}