Skip to content

Commit

Permalink
added a bunch of todo items
Browse files Browse the repository at this point in the history
  • Loading branch information
dunmatt committed Aug 3, 2014
1 parent 95f783b commit 72d6f35
Show file tree
Hide file tree
Showing 2 changed files with 242 additions and 6 deletions.
25 changes: 19 additions & 6 deletions TODO
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
Firmware:
check if everything in fragments 0-7 are necessary LOW
check if the other analog channels can be disabled LOW
rename all the device overlays

Hardware:
Expand All @@ -13,13 +11,28 @@ Hardware:
add 3rd solenoid driver channel (4th? Do we need to support dual yaw piston option?)
add 3rd analog port for string pots
look into 12V switching regulator for solenoids and pressure sensors
choose cables and connectors
choose enclosures
update schematic and pcb layout
bypass ports for manual control


Software:
pull out the deadband parameters from closed loop test
centralize all the parameters, a model file probably
write calibration scripts
do constant velocity test
make realtime graphing (over the network)
make realtime graphing (over the network) (maybe storm?)
start thinking about interfacing with the existing code
FRP?
start thinking about a UI
start thinking about a UI (LOW)
document a comm protocol
hook up all the networking code
do the physics
add force inputs to BBB code
import the gate code and the IK
import the joystick code
enforce speed ramps at all times
port SoftStopAwareSpeedManager to python, integrate
check out the pyode code, adapt it?
make E stop
write server code

223 changes: 223 additions & 0 deletions overlays/robobonobo-00A0.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,223 @@
/*
* Copyright (C) 2014 M@ Dunlap
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;
/plugin/;

/ {
compatible = "ti,beaglebone", "ti,beaglebone-black";

/* identification */
part-number = "battle_bone";
version = "00A0";

/* state the resources this cape uses */
exclusive-use =
/* the pin header uses */
"P8.11", /* eQEP2B (GPIO1_13) */
"P8.12", /* eQEP2A (GPIO1_12) */
"P8.17", /* GPIO0_27 */
"P8.18", /* GPIO2_1 */
"P8.19", /* pwm: ehrpwm2A */

"P9.11", /* GPIO0_30 (UART4_RXD) */
"P9.12", /* GPIO1_28 (GPIO1_28) */
"P9.21", /* UART2_TXD */
"P9.22", /* UART2_RXD */
"P9.27", /* eQEP0B (GPIO3_19) */
"P9.28", /* GPIO3_17 (SPI1_CS0) */
"P9.29", /* pwm: ehrpwm0B (SPI1_D0) */
"P9.30", /* GPIO3_16 (SPI1_D1) */
"P9.31", /* pwm: ehrpwm0A (SPI1_SCLK) */
"P9.33", /* AIN4 */
"P9.35", /* AIN6 */
"P9.36", /* AIN5 */
"P9.37", /* AIN2 */
"P9.38", /* AIN3 */
"P9.39", /* AIN0 */
"P9.40", /* AIN1 */
"P9.42", /* eQEP0A (GPIO3_18): TODO: set GPIO0_7 to input */


/* the hardware IP uses */
"ehrpwm0A",
"ehrpwm0B",
"ehrpwm2A",
"eqep0A",
"eqep0B",
"eqep2A",
"eqep2B",
"tscadc",
"uart2";

/* Experimental am33xx unknown overlay */
fragment@0 {
target = <&epwmss0>;
__overlay__ {
status = "okay";
};
};

fragment@1 {
target = <&ehrpwm0>;
__overlay__ {
status = "okay";
};
};

fragment@2 {
target = <&ecap0>;
__overlay__ {
status = "okay";
};
};

fragment@3 {
target = <&epwmss1>;
__overlay__ {
status = "okay";
};
};

fragment@4 {
target = <&ehrpwm1>;
__overlay__ {
status = "okay";
};
};

fragment@5 {
target = <&epwmss2>;
__overlay__ {
status = "okay";
};
};

fragment@6 {
target = <&ehrpwm2>;
__overlay__ {
status = "okay";
};
};

fragment@7 {
target = <&ecap2>;
__overlay__ {
status = "okay";
};
};


/* Working PWM fragments */
fragment@8 {
target = <&am33xx_pinmux>;
__overlay__ {
pwm_P8_19: pinmux_pwm_P8_19_pins {
pinctrl-single,pins = <0x020 0x4>; /* P8_19 (ZCZ ball U10) | MODE 4 */
};
};
};

fragment@9 {
target = <&ocp>;
__overlay__ {
pwm_test_P8_19 {
compatible = "pwm_test";
pwms = <&ehrpwm2 0 5000000 1>;
pwm-names = "PWM_P8_19";

pinctrl-names = "default";
pinctrl-0 = <&pwm_P8_19>;

enabled = <1>;
duty = <5000000>;
status = "okay";
};
};
};


fragment@16 {
target = <&am33xx_pinmux>;
__overlay__ {
pwm_P9_14: pinmux_pwm_P9_14_pins {
pinctrl-single,pins = <0x048 0x6>; /* P9_14 (ZCZ ball U14) | MODE 6 */
};
};
};

fragment@17 {
target = <&ocp>;
__overlay__ {
pwm_test_P9_14 {
compatible = "pwm_test";
pwms = <&ehrpwm1 0 5000000 1>;
pwm-names = "PWM_P9_14";
pinctrl-names = "default";
pinctrl-0 = <&pwm_P9_14>;
enabled = <1>;
duty = <0>;
status = "okay";
};
};
};

fragment@18 {
target = <&am33xx_pinmux>;
__overlay__ {
pwm_P9_16: pinmux_pwm_P9_16_pins {
pinctrl-single,pins = <0x04c 0x6>; /* P9_16 (ZCZ ball T14) | MODE 6 */
};
};
};

fragment@19 {
target = <&ocp>;
__overlay__ {
pwm_test_P9_16 {
compatible = "pwm_test";
pwms = <&ehrpwm1 1 5000000 1>;
pwm-names = "PWM_P9_16";
pinctrl-names = "default";
pinctrl-0 = <&pwm_P9_16>;
enabled = <1>;
duty = <0>;
status = "okay";
};
};
};

fragment@20 {
target = <&ocp>;
__overlay__ {
#address-cells = <1>;
#size-cells = <1>;

tscadc {
compatible = "ti,ti-tscadc";
reg = <0x44e0d000 0x1000>;

interrupt-parent = <&intc>;
interrupts = <16>;
ti,hwmods = "adc_tsc";
status = "okay";

adc {
ti,adc-channels = <0 1 2 3 4 5 6 7>;
};
};

test_helper: helper {
compatible = "bone-iio-helper";
vsense-name = "AIN0", "AIN1", "AIN2", "AIN3", "AIN4", "AIN5", "AIN6", "AIN7";
vsense-scale = <100 100 100 100 100 100 100 100>;
status = "okay";
};
};
};/**/

};

0 comments on commit 72d6f35

Please sign in to comment.