WIP: lokale wijzigingen vóór pull

This commit is contained in:
Steve Caster 2025-08-18 14:23:27 +02:00
parent 8ccc9e2510
commit 2b8f55e648
51 changed files with 1800868 additions and 1079645 deletions

110940
12V_30A.stp

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

0
4040cross.FCStd Executable file → Normal file
View file

219872
CCR10_flaps-Holder.gcode Normal file

File diff suppressed because it is too large Load diff

301547
CCR10_joystick-Main cover.gcode Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

0
Filament_sensor-Body001.stl Executable file → Normal file
View file

0
Filament_sensor.FCStd Executable file → Normal file
View file

0
Filament_sensorv2.FCStd Executable file → Normal file
View file

0
Filament_sensorv2.FCStd1 Executable file → Normal file
View file

BIN
Holder/MGN15H-carriage.stl Normal file

Binary file not shown.

Binary file not shown.

BIN
Holder/fil_sens_bot.stl Normal file

Binary file not shown.

BIN
Holder/fil_sens_top.stl Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View file

@ -1,137 +1,137 @@
#undef DEBUG
#define NUM_BUTTONS 40 // you don't need to change this value
#define NUM_AXES 8 // 6 axes to UNO, and 8 to MEGA. If you are using UNO, don't need to change this value.
typedef struct joyReport_t {
int16_t axis[NUM_AXES];
uint8_t button[(NUM_BUTTONS + 7) / 8]; // 8 buttons per byte
} joyReport_t;
joyReport_t joyReport;
uint8_t btn[12];
int fulloff = 0;
void setup(void);
void loop(void);
void setButton(joyReport_t *joy, uint8_t button);
void clearButton(joyReport_t *joy, uint8_t button);
void sendJoyReport(joyReport_t *report);
void setup()
{
//set pin to input Button
for ( int portId = 02; portId < 13; portId ++ )
{
pinMode( portId, INPUT_PULLUP);
}
Serial.begin(115200);
delay(200);
for (uint8_t ind = 0; ind < 8; ind++) {
joyReport.axis[ind] = ind * 1000;
}
for (uint8_t ind = 0; ind < sizeof(joyReport.button); ind++) {
joyReport.button[ind] = 0;
}
}
// Send an HID report to the USB interface
void sendJoyReport(struct joyReport_t *report)
{
#ifndef DEBUG
Serial.write((uint8_t *)report, sizeof(joyReport_t));
#else
// dump human readable output for debugging
for (uint8_t ind = 0; ind < NUM_AXES; ind++) {
Serial.print("axis[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->axis[ind]);
Serial.print(" ");
}
Serial.println();
for (uint8_t ind = 0; ind < NUM_BUTTONS / 8; ind++) {
Serial.print("button[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->button[ind], HEX);
Serial.print(" ");
}
Serial.println();
#endif
}
// turn a button on
void setButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] |= 1 << bit;
}
// turn a button off
void clearButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] &= ~(1 << bit);
}
/*
Read Digital port for Button
Read Analog port for axis
*/
void loop()
{
for (int bt = 1; bt < 13; bt ++)
{
// btn[bt] = digitalRead(bt + 1);
btn[bt] = LOW;
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == LOW)
{
setButton(&joyReport, on + 16);
delay(1);
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == HIGH)
{
clearButton(&joyReport, on + 16);
}
}
}
//for (uint8_t axis = 0; axis < 1; axis++) {
// joyReport.axis[axis] = map(analogRead(axis), 0, 1023, -32768, 32767 );
//}
joyReport.axis[0] = 0;
joyReport.axis[1] = 0;
joyReport.axis[2] = map(analogRead(2), 0, 1023, -32768, 32767 );
joyReport.axis[3] = map(analogRead(3), 0, 1023, -32768, 32767 );
joyReport.axis[4] = map(analogRead(4), 0, 1023, -32768, 32767 );
joyReport.axis[5] = 0;
joyReport.axis[6] = 0;
joyReport.axis[7] = 0;
joyReport.axis[8] = 0;
//Send Data to HID
sendJoyReport(&joyReport);
delay(35);
fulloff = 0;
}
#undef DEBUG
#define NUM_BUTTONS 40 // you don't need to change this value
#define NUM_AXES 8 // 6 axes to UNO, and 8 to MEGA. If you are using UNO, don't need to change this value.
typedef struct joyReport_t {
int16_t axis[NUM_AXES];
uint8_t button[(NUM_BUTTONS + 7) / 8]; // 8 buttons per byte
} joyReport_t;
joyReport_t joyReport;
uint8_t btn[12];
int fulloff = 0;
void setup(void);
void loop(void);
void setButton(joyReport_t *joy, uint8_t button);
void clearButton(joyReport_t *joy, uint8_t button);
void sendJoyReport(joyReport_t *report);
void setup()
{
//set pin to input Button
for ( int portId = 02; portId < 13; portId ++ )
{
pinMode( portId, INPUT_PULLUP);
}
Serial.begin(115200);
delay(200);
for (uint8_t ind = 0; ind < 8; ind++) {
joyReport.axis[ind] = ind * 1000;
}
for (uint8_t ind = 0; ind < sizeof(joyReport.button); ind++) {
joyReport.button[ind] = 0;
}
}
// Send an HID report to the USB interface
void sendJoyReport(struct joyReport_t *report)
{
#ifndef DEBUG
Serial.write((uint8_t *)report, sizeof(joyReport_t));
#else
// dump human readable output for debugging
for (uint8_t ind = 0; ind < NUM_AXES; ind++) {
Serial.print("axis[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->axis[ind]);
Serial.print(" ");
}
Serial.println();
for (uint8_t ind = 0; ind < NUM_BUTTONS / 8; ind++) {
Serial.print("button[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->button[ind], HEX);
Serial.print(" ");
}
Serial.println();
#endif
}
// turn a button on
void setButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] |= 1 << bit;
}
// turn a button off
void clearButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] &= ~(1 << bit);
}
/*
Read Digital port for Button
Read Analog port for axis
*/
void loop()
{
for (int bt = 1; bt < 13; bt ++)
{
// btn[bt] = digitalRead(bt + 1);
btn[bt] = LOW;
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == LOW)
{
setButton(&joyReport, on + 16);
delay(1);
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == HIGH)
{
clearButton(&joyReport, on + 16);
}
}
}
//for (uint8_t axis = 0; axis < 1; axis++) {
// joyReport.axis[axis] = map(analogRead(axis), 0, 1023, -32768, 32767 );
//}
joyReport.axis[0] = 0;
joyReport.axis[1] = 0;
joyReport.axis[2] = map(analogRead(2), 0, 1023, -32768, 32767 );
joyReport.axis[3] = map(analogRead(3), 0, 1023, -32768, 32767 );
joyReport.axis[4] = map(analogRead(4), 0, 1023, -32768, 32767 );
joyReport.axis[5] = 0;
joyReport.axis[6] = 0;
joyReport.axis[7] = 0;
joyReport.axis[8] = 0;
//Send Data to HID
sendJoyReport(&joyReport);
delay(35);
fulloff = 0;
}

View file

@ -1,137 +1,137 @@
#undef DEBUG
#define NUM_BUTTONS 40 // you don't need to change this value
#define NUM_AXES 8 // 6 axes to UNO, and 8 to MEGA. If you are using UNO, don't need to change this value.
typedef struct joyReport_t {
int16_t axis[NUM_AXES];
uint8_t button[(NUM_BUTTONS + 7) / 8]; // 8 buttons per byte
} joyReport_t;
joyReport_t joyReport;
uint8_t btn[12];
int fulloff = 0;
void setup(void);
void loop(void);
void setButton(joyReport_t *joy, uint8_t button);
void clearButton(joyReport_t *joy, uint8_t button);
void sendJoyReport(joyReport_t *report);
void setup()
{
//set pin to input Button
for ( int portId = 02; portId < 13; portId ++ )
{
pinMode( portId, INPUT_PULLUP);
}
Serial.begin(115200);
delay(200);
for (uint8_t ind = 0; ind < 8; ind++) {
joyReport.axis[ind] = ind * 1000;
}
for (uint8_t ind = 0; ind < sizeof(joyReport.button); ind++) {
joyReport.button[ind] = 0;
}
}
// Send an HID report to the USB interface
void sendJoyReport(struct joyReport_t *report)
{
#ifndef DEBUG
Serial.write((uint8_t *)report, sizeof(joyReport_t));
#else
// dump human readable output for debugging
for (uint8_t ind = 0; ind < NUM_AXES; ind++) {
Serial.print("axis[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->axis[ind]);
Serial.print(" ");
}
Serial.println();
for (uint8_t ind = 0; ind < NUM_BUTTONS / 8; ind++) {
Serial.print("button[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->button[ind], HEX);
Serial.print(" ");
}
Serial.println();
#endif
}
// turn a button on
void setButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] |= 1 << bit;
}
// turn a button off
void clearButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] &= ~(1 << bit);
}
/*
Read Digital port for Button
Read Analog port for axis
*/
void loop()
{
for (int bt = 1; bt < 13; bt ++)
{
// btn[bt] = digitalRead(bt + 1);
btn[bt] = LOW;
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == LOW)
{
setButton(&joyReport, on + 16);
delay(1);
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == HIGH)
{
clearButton(&joyReport, on + 16);
}
}
}
//for (uint8_t axis = 0; axis < 1; axis++) {
// joyReport.axis[axis] = map(analogRead(axis), 0, 1023, -32768, 32767 );
//}
joyReport.axis[0] = 0;
joyReport.axis[1] = 0;
joyReport.axis[2] = map(analogRead(2), 0, 1023, -32768, 32767 );
joyReport.axis[3] = map(analogRead(3), 0, 1023, -32768, 32767 );
joyReport.axis[4] = map(analogRead(4), 0, 1023, -32768, 32767 );
joyReport.axis[5] = 0;
joyReport.axis[6] = 0;
joyReport.axis[7] = 0;
joyReport.axis[8] = 0;
//Send Data to HID
sendJoyReport(&joyReport);
delay(35);
fulloff = 0;
}
#undef DEBUG
#define NUM_BUTTONS 40 // you don't need to change this value
#define NUM_AXES 8 // 6 axes to UNO, and 8 to MEGA. If you are using UNO, don't need to change this value.
typedef struct joyReport_t {
int16_t axis[NUM_AXES];
uint8_t button[(NUM_BUTTONS + 7) / 8]; // 8 buttons per byte
} joyReport_t;
joyReport_t joyReport;
uint8_t btn[12];
int fulloff = 0;
void setup(void);
void loop(void);
void setButton(joyReport_t *joy, uint8_t button);
void clearButton(joyReport_t *joy, uint8_t button);
void sendJoyReport(joyReport_t *report);
void setup()
{
//set pin to input Button
for ( int portId = 02; portId < 13; portId ++ )
{
pinMode( portId, INPUT_PULLUP);
}
Serial.begin(115200);
delay(200);
for (uint8_t ind = 0; ind < 8; ind++) {
joyReport.axis[ind] = ind * 1000;
}
for (uint8_t ind = 0; ind < sizeof(joyReport.button); ind++) {
joyReport.button[ind] = 0;
}
}
// Send an HID report to the USB interface
void sendJoyReport(struct joyReport_t *report)
{
#ifndef DEBUG
Serial.write((uint8_t *)report, sizeof(joyReport_t));
#else
// dump human readable output for debugging
for (uint8_t ind = 0; ind < NUM_AXES; ind++) {
Serial.print("axis[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->axis[ind]);
Serial.print(" ");
}
Serial.println();
for (uint8_t ind = 0; ind < NUM_BUTTONS / 8; ind++) {
Serial.print("button[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->button[ind], HEX);
Serial.print(" ");
}
Serial.println();
#endif
}
// turn a button on
void setButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] |= 1 << bit;
}
// turn a button off
void clearButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] &= ~(1 << bit);
}
/*
Read Digital port for Button
Read Analog port for axis
*/
void loop()
{
for (int bt = 1; bt < 13; bt ++)
{
// btn[bt] = digitalRead(bt + 1);
btn[bt] = LOW;
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == LOW)
{
setButton(&joyReport, on + 16);
delay(1);
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == HIGH)
{
clearButton(&joyReport, on + 16);
}
}
}
//for (uint8_t axis = 0; axis < 1; axis++) {
// joyReport.axis[axis] = map(analogRead(axis), 0, 1023, -32768, 32767 );
//}
joyReport.axis[0] = 0;
joyReport.axis[1] = 0;
joyReport.axis[2] = map(analogRead(2), 0, 1023, -32768, 32767 );
joyReport.axis[3] = map(analogRead(3), 0, 1023, -32768, 32767 );
joyReport.axis[4] = map(analogRead(4), 0, 1023, -32768, 32767 );
joyReport.axis[5] = 0;
joyReport.axis[6] = 0;
joyReport.axis[7] = 0;
joyReport.axis[8] = 0;
//Send Data to HID
sendJoyReport(&joyReport);
delay(35);
fulloff = 0;
}

0
Pedals/esptool/esptool Executable file → Normal file
View file

View file

@ -1,137 +1,137 @@
#undef DEBUG
#define NUM_BUTTONS 40 // you don't need to change this value
#define NUM_AXES 8 // 6 axes to UNO, and 8 to MEGA. If you are using UNO, don't need to change this value.
typedef struct joyReport_t {
int16_t axis[NUM_AXES];
uint8_t button[(NUM_BUTTONS + 7) / 8]; // 8 buttons per byte
} joyReport_t;
joyReport_t joyReport;
uint8_t btn[12];
int fulloff = 0;
void setup(void);
void loop(void);
void setButton(joyReport_t *joy, uint8_t button);
void clearButton(joyReport_t *joy, uint8_t button);
void sendJoyReport(joyReport_t *report);
void setup()
{
//set pin to input Button
for ( int portId = 02; portId < 13; portId ++ )
{
pinMode( portId, INPUT_PULLUP);
}
Serial.begin(115200);
delay(200);
for (uint8_t ind = 0; ind < 8; ind++) {
joyReport.axis[ind] = ind * 1000;
}
for (uint8_t ind = 0; ind < sizeof(joyReport.button); ind++) {
joyReport.button[ind] = 0;
}
}
// Send an HID report to the USB interface
void sendJoyReport(struct joyReport_t *report)
{
#ifndef DEBUG
Serial.write((uint8_t *)report, sizeof(joyReport_t));
#else
// dump human readable output for debugging
for (uint8_t ind = 0; ind < NUM_AXES; ind++) {
Serial.print("axis[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->axis[ind]);
Serial.print(" ");
}
Serial.println();
for (uint8_t ind = 0; ind < NUM_BUTTONS / 8; ind++) {
Serial.print("button[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->button[ind], HEX);
Serial.print(" ");
}
Serial.println();
#endif
}
// turn a button on
void setButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] |= 1 << bit;
}
// turn a button off
void clearButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] &= ~(1 << bit);
}
/*
Read Digital port for Button
Read Analog port for axis
*/
void loop()
{
for (int bt = 1; bt < 13; bt ++)
{
// btn[bt] = digitalRead(bt + 1);
btn[bt] = LOW;
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == LOW)
{
setButton(&joyReport, on + 16);
delay(1);
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == HIGH)
{
clearButton(&joyReport, on + 16);
}
}
}
//for (uint8_t axis = 0; axis < 1; axis++) {
// joyReport.axis[axis] = map(analogRead(axis), 0, 1023, -32768, 32767 );
//}
joyReport.axis[0] = 0;
joyReport.axis[1] = 0;
joyReport.axis[2] = map(analogRead(2), 0, 1023, -32768, 32767 );
joyReport.axis[3] = map(analogRead(3), 0, 1023, -32768, 32767 );
joyReport.axis[4] = map(analogRead(4), 0, 1023, -32768, 32767 );
joyReport.axis[5] = 0;
joyReport.axis[6] = 0;
joyReport.axis[7] = 0;
joyReport.axis[8] = 0;
//Send Data to HID
sendJoyReport(&joyReport);
delay(35);
fulloff = 0;
}
#undef DEBUG
#define NUM_BUTTONS 40 // you don't need to change this value
#define NUM_AXES 8 // 6 axes to UNO, and 8 to MEGA. If you are using UNO, don't need to change this value.
typedef struct joyReport_t {
int16_t axis[NUM_AXES];
uint8_t button[(NUM_BUTTONS + 7) / 8]; // 8 buttons per byte
} joyReport_t;
joyReport_t joyReport;
uint8_t btn[12];
int fulloff = 0;
void setup(void);
void loop(void);
void setButton(joyReport_t *joy, uint8_t button);
void clearButton(joyReport_t *joy, uint8_t button);
void sendJoyReport(joyReport_t *report);
void setup()
{
//set pin to input Button
for ( int portId = 02; portId < 13; portId ++ )
{
pinMode( portId, INPUT_PULLUP);
}
Serial.begin(115200);
delay(200);
for (uint8_t ind = 0; ind < 8; ind++) {
joyReport.axis[ind] = ind * 1000;
}
for (uint8_t ind = 0; ind < sizeof(joyReport.button); ind++) {
joyReport.button[ind] = 0;
}
}
// Send an HID report to the USB interface
void sendJoyReport(struct joyReport_t *report)
{
#ifndef DEBUG
Serial.write((uint8_t *)report, sizeof(joyReport_t));
#else
// dump human readable output for debugging
for (uint8_t ind = 0; ind < NUM_AXES; ind++) {
Serial.print("axis[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->axis[ind]);
Serial.print(" ");
}
Serial.println();
for (uint8_t ind = 0; ind < NUM_BUTTONS / 8; ind++) {
Serial.print("button[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->button[ind], HEX);
Serial.print(" ");
}
Serial.println();
#endif
}
// turn a button on
void setButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] |= 1 << bit;
}
// turn a button off
void clearButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] &= ~(1 << bit);
}
/*
Read Digital port for Button
Read Analog port for axis
*/
void loop()
{
for (int bt = 1; bt < 13; bt ++)
{
// btn[bt] = digitalRead(bt + 1);
btn[bt] = LOW;
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == LOW)
{
setButton(&joyReport, on + 16);
delay(1);
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == HIGH)
{
clearButton(&joyReport, on + 16);
}
}
}
//for (uint8_t axis = 0; axis < 1; axis++) {
// joyReport.axis[axis] = map(analogRead(axis), 0, 1023, -32768, 32767 );
//}
joyReport.axis[0] = 0;
joyReport.axis[1] = 0;
joyReport.axis[2] = map(analogRead(2), 0, 1023, -32768, 32767 );
joyReport.axis[3] = map(analogRead(3), 0, 1023, -32768, 32767 );
joyReport.axis[4] = map(analogRead(4), 0, 1023, -32768, 32767 );
joyReport.axis[5] = 0;
joyReport.axis[6] = 0;
joyReport.axis[7] = 0;
joyReport.axis[8] = 0;
//Send Data to HID
sendJoyReport(&joyReport);
delay(35);
fulloff = 0;
}

View file

@ -1,137 +1,137 @@
#undef DEBUG
#define NUM_BUTTONS 40 // you don't need to change this value
#define NUM_AXES 8 // 6 axes to UNO, and 8 to MEGA. If you are using UNO, don't need to change this value.
typedef struct joyReport_t {
int16_t axis[NUM_AXES];
uint8_t button[(NUM_BUTTONS + 7) / 8]; // 8 buttons per byte
} joyReport_t;
joyReport_t joyReport;
uint8_t btn[12];
int fulloff = 0;
void setup(void);
void loop(void);
void setButton(joyReport_t *joy, uint8_t button);
void clearButton(joyReport_t *joy, uint8_t button);
void sendJoyReport(joyReport_t *report);
void setup()
{
//set pin to input Button
for ( int portId = 02; portId < 13; portId ++ )
{
pinMode( portId, INPUT_PULLUP);
}
Serial.begin(115200);
delay(200);
for (uint8_t ind = 0; ind < 8; ind++) {
joyReport.axis[ind] = ind * 1000;
}
for (uint8_t ind = 0; ind < sizeof(joyReport.button); ind++) {
joyReport.button[ind] = 0;
}
}
// Send an HID report to the USB interface
void sendJoyReport(struct joyReport_t *report)
{
#ifndef DEBUG
Serial.write((uint8_t *)report, sizeof(joyReport_t));
#else
// dump human readable output for debugging
for (uint8_t ind = 0; ind < NUM_AXES; ind++) {
Serial.print("axis[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->axis[ind]);
Serial.print(" ");
}
Serial.println();
for (uint8_t ind = 0; ind < NUM_BUTTONS / 8; ind++) {
Serial.print("button[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->button[ind], HEX);
Serial.print(" ");
}
Serial.println();
#endif
}
// turn a button on
void setButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] |= 1 << bit;
}
// turn a button off
void clearButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] &= ~(1 << bit);
}
/*
Read Digital port for Button
Read Analog port for axis
*/
void loop()
{
for (int bt = 1; bt < 13; bt ++)
{
// btn[bt] = digitalRead(bt + 1);
btn[bt] = LOW;
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == LOW)
{
setButton(&joyReport, on + 16);
delay(1);
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == HIGH)
{
clearButton(&joyReport, on + 16);
}
}
}
//for (uint8_t axis = 0; axis < 1; axis++) {
// joyReport.axis[axis] = map(analogRead(axis), 0, 1023, -32768, 32767 );
//}
joyReport.axis[0] = 0;
joyReport.axis[1] = 0;
joyReport.axis[2] = map(analogRead(2), 0, 1023, -32768, 32767 );
joyReport.axis[3] = map(analogRead(3), 0, 1023, -32768, 32767 );
joyReport.axis[4] = map(analogRead(4), 0, 1023, -32768, 32767 );
joyReport.axis[5] = 0;
joyReport.axis[6] = 0;
joyReport.axis[7] = 0;
joyReport.axis[8] = 0;
//Send Data to HID
sendJoyReport(&joyReport);
delay(35);
fulloff = 0;
}
#undef DEBUG
#define NUM_BUTTONS 40 // you don't need to change this value
#define NUM_AXES 8 // 6 axes to UNO, and 8 to MEGA. If you are using UNO, don't need to change this value.
typedef struct joyReport_t {
int16_t axis[NUM_AXES];
uint8_t button[(NUM_BUTTONS + 7) / 8]; // 8 buttons per byte
} joyReport_t;
joyReport_t joyReport;
uint8_t btn[12];
int fulloff = 0;
void setup(void);
void loop(void);
void setButton(joyReport_t *joy, uint8_t button);
void clearButton(joyReport_t *joy, uint8_t button);
void sendJoyReport(joyReport_t *report);
void setup()
{
//set pin to input Button
for ( int portId = 02; portId < 13; portId ++ )
{
pinMode( portId, INPUT_PULLUP);
}
Serial.begin(115200);
delay(200);
for (uint8_t ind = 0; ind < 8; ind++) {
joyReport.axis[ind] = ind * 1000;
}
for (uint8_t ind = 0; ind < sizeof(joyReport.button); ind++) {
joyReport.button[ind] = 0;
}
}
// Send an HID report to the USB interface
void sendJoyReport(struct joyReport_t *report)
{
#ifndef DEBUG
Serial.write((uint8_t *)report, sizeof(joyReport_t));
#else
// dump human readable output for debugging
for (uint8_t ind = 0; ind < NUM_AXES; ind++) {
Serial.print("axis[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->axis[ind]);
Serial.print(" ");
}
Serial.println();
for (uint8_t ind = 0; ind < NUM_BUTTONS / 8; ind++) {
Serial.print("button[");
Serial.print(ind);
Serial.print("]= ");
Serial.print(report->button[ind], HEX);
Serial.print(" ");
}
Serial.println();
#endif
}
// turn a button on
void setButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] |= 1 << bit;
}
// turn a button off
void clearButton(joyReport_t *joy, uint8_t button)
{
uint8_t index = button / 8;
uint8_t bit = button - 8 * index;
joy->button[index] &= ~(1 << bit);
}
/*
Read Digital port for Button
Read Analog port for axis
*/
void loop()
{
for (int bt = 1; bt < 13; bt ++)
{
// btn[bt] = digitalRead(bt + 1);
btn[bt] = LOW;
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == LOW)
{
setButton(&joyReport, on + 16);
delay(1);
}
for (int on = 01; on < 13; on++)
{
if (btn[on] == HIGH)
{
clearButton(&joyReport, on + 16);
}
}
}
//for (uint8_t axis = 0; axis < 1; axis++) {
// joyReport.axis[axis] = map(analogRead(axis), 0, 1023, -32768, 32767 );
//}
joyReport.axis[0] = 0;
joyReport.axis[1] = 0;
joyReport.axis[2] = map(analogRead(2), 0, 1023, -32768, 32767 );
joyReport.axis[3] = map(analogRead(3), 0, 1023, -32768, 32767 );
joyReport.axis[4] = map(analogRead(4), 0, 1023, -32768, 32767 );
joyReport.axis[5] = 0;
joyReport.axis[6] = 0;
joyReport.axis[7] = 0;
joyReport.axis[8] = 0;
//Send Data to HID
sendJoyReport(&joyReport);
delay(35);
fulloff = 0;
}

BIN
Power convertor block.FCStd Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

345404
Wantai_Stepper_Motor_-_Nema_17_-_42BYGHM809.step Executable file → Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load diff

Binary file not shown.

BIN
joystick.FCStd1 Normal file

Binary file not shown.

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

0
motion_sim/Flyer/Winwingholder.20230907-120958.FCBak Executable file → Normal file
View file

0
motion_sim/Flyer/Winwingholder_stick.FCStd Executable file → Normal file
View file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff