když jsem začínal s Arduinem, tak když jsem potřeboval dosadit do funkcí např.:
Kód: Vybrat vše
DigitalRead()
digitalWrite()
analogRead()
analogWrite()
Kód: Vybrat vše
int ledPin = 13; // LED connected to digital pin 13
int inPin = 7; // pushbutton connected to digital pin 7
int val = 0; // variable to store the read value
void setup() {
pinMode(ledPin, OUTPUT); // sets the digital pin 13 as output
pinMode(inPin, INPUT); // sets the digital pin 7 as input
}
void loop() {
val = digitalRead(inPin); // read the input pin
digitalWrite(ledPin, val); // sets the LED to the button's value
}
Kód: Vybrat vše
# HelloWorld-001
# program slouzi pro prvni pokusy s kartou MESA 7i96
# do karty musi byt zapojeno: napájení, ethernet, tlacitko na vstupu1 a LED na vystupu1
# spusteni programu je predpokladano v prikazovem radku
# pomoci prikazu "halrun -I HelloWorld-001.hal"
# vytvoreni vlakna test-thread
loadrt threads name1=test-thread period1=1000000
# hostmot2 driver - ovladac pro MESA 7i96
loadrt hostmot2
loadrt hm2_eth board_ip="10.10.10.10" config="num_encoders=0 num_stepgens=3 sserial_port_0=1"
setp hm2_7i96.0.watchdog.timeout_ns 25000000
# pridani funkci do vlakna servo-thread
addf hm2_7i96.0.read test-thread
addf hm2_7i96.0.write test-thread
# vytvoreni noveho signalu - pokud bychom tento signal nevytvorili, vytvoril by si ho za nas prikaz net
# prikaz napsan pouze ze studijnich důvodů
newsig signal-vodic0 bit
# prirazeni pinu vstup0 na signal signal-vodic0
net signal-vodic0 <= hm2_7i96.0.gpio.000.in
# značka <= je pouze informativni, halrun ji nezpracovava
# prirazeni signalu signal-vodic0 na pin vystup0
net signal-vodic0 => hm2_7i96.0.ssr.00.out-00
# jednodussi zapis zapis predchoziho spojeni pro vstup1 / vystup1
net signal-vodic1 hm2_7i96.0.gpio.001.in => hm2_7i96.0.ssr.00.out-01
# spusteni vsech vlaken - nepouzivat v *.hal souboru pro LinuxCNC
start
# vice na http://zz912.blog.cz/
Fyzický pin TB3-13/TB3-14 se ovládá hm2_7i96.0.ssr.00.out-00
Fyzický pin TB3-01 se ovládá hm2_7i96.0.gpio.000.in
?
A zároveň nechci použít reverzní engineering.
Už jsem po této otázce pátral, tak dlouho, že je mi to docela jasné, ale spíše chci najít cestu přímou, jako bych byl první uživatel na světě, co si koupil 7i96 a chce ji použít.
Nejjednodušší cesta reverzního engineeringu je použít nějakého Wizarda a ke každému fyzickému Pinu přiřadit nějakou funkci (signál dle terminologie HAL) a pak se podívat do vygenerovaných souborů.
Další cesta reverzního engineeringu je zkoušet na fyzické 7i96 různé vstupy a výstupy a pomocí zdenek@CNC:~$ halshow vypozorovat jak se co chová.
Nejbližší cesta k tomu co bych chtěl je:
Kód: Vybrat vše
halrun
loadrt hostmot2
loadrt hm2_eth board_ip=10.10.10.10
show pin
Kód: Vybrat vše
zdenek@CNC:~$ halrun
halcmd: loadrt hostmot2
Note: Using POSIX realtime
hm2: loading Mesa HostMot2 driver version 0.15
halcmd: loadrt hm2_eth board_ip=10.10.10.10
hm2_eth: loading Mesa AnyIO HostMot2 ethernet driver version 0.2
hm2_eth: 10.10.10.10: Hardware address: 00:60:1b:16:01:4f
hm2_eth: discovered 7I96
hm2/hm2_7i96.0: Smart Serial Firmware Version 43
hm2/hm2_7i96.0: 51 I/O Pins used:
hm2/hm2_7i96.0: IO Pin 000 (TB3-01): IOPort
hm2/hm2_7i96.0: IO Pin 001 (TB3-02): IOPort
hm2/hm2_7i96.0: IO Pin 002 (TB3-03): IOPort
hm2/hm2_7i96.0: IO Pin 003 (TB3-04): IOPort
hm2/hm2_7i96.0: IO Pin 004 (TB3-05): IOPort
hm2/hm2_7i96.0: IO Pin 005 (TB3-06): IOPort
hm2/hm2_7i96.0: IO Pin 006 (TB3-07): IOPort
hm2/hm2_7i96.0: IO Pin 007 (TB3-08): IOPort
hm2/hm2_7i96.0: IO Pin 008 (TB3-09): IOPort
hm2/hm2_7i96.0: IO Pin 009 (TB3-10): IOPort
hm2/hm2_7i96.0: IO Pin 010 (TB3-11): IOPort
hm2/hm2_7i96.0: IO Pin 011 (TB3-13/TB3-14): SSR #0, pin Out-00 (Output)
hm2/hm2_7i96.0: IO Pin 012 (TB3-15/TB3-16): SSR #0, pin Out-01 (Output)
hm2/hm2_7i96.0: IO Pin 013 (TB3-17/TB3-18): SSR #0, pin Out-02 (Output)
hm2/hm2_7i96.0: IO Pin 014 (TB3-19/TB3-20): SSR #0, pin Out-03 (Output)
hm2/hm2_7i96.0: IO Pin 015 (TB3-21/TB3-22): SSR #0, pin Out-04 (Output)
hm2/hm2_7i96.0: IO Pin 016 (TB3-23/TB3-24): SSR #0, pin Out-05 (Output)
hm2/hm2_7i96.0: IO Pin 017 (TB1-02/TB1-03): StepGen #0, pin Step (Output)
hm2/hm2_7i96.0: IO Pin 018 (TB1-04/TB1-05): StepGen #0, pin Direction (Output)
hm2/hm2_7i96.0: IO Pin 019 (TB1-08/TB1-09): StepGen #1, pin Step (Output)
hm2/hm2_7i96.0: IO Pin 020 (TB1-10/TB1-11): StepGen #1, pin Direction (Output)
hm2/hm2_7i96.0: IO Pin 021 (TB1-14/TB1-15): StepGen #2, pin Step (Output)
hm2/hm2_7i96.0: IO Pin 022 (TB1-16/TB1-17): StepGen #2, pin Direction (Output)
hm2/hm2_7i96.0: IO Pin 023 (TB1-20/TB1-21): StepGen #3, pin Step (Output)
hm2/hm2_7i96.0: IO Pin 024 (TB1-22-TB1-23): StepGen #3, pin Direction (Output)
hm2/hm2_7i96.0: IO Pin 025 (TB2-01/TB2-03): PWMGen #0, pin Out0 (PWM or Up) (Output)
hm2/hm2_7i96.0: IO Pin 026 (TB2-04/TB2-05): PWMGen #0, pin Out1 (Dir or Down) (Output)
hm2/hm2_7i96.0: IO Pin 027 (TB2-07/TB2-08): Encoder #0, pin A (Input)
hm2/hm2_7i96.0: IO Pin 028 (TB2-10/TB2-11): Encoder #0, pin B (Input)
hm2/hm2_7i96.0: IO Pin 029 (TB2-13/TB2-14): Encoder #0, pin Index (Input)
hm2/hm2_7i96.0: IO Pin 030 (TB2-16/TB2-17): IOPort
hm2/hm2_7i96.0: IO Pin 031 (TB2-18/TB2-19): IOPort
hm2/hm2_7i96.0: IO Pin 032 (internal): IOPort
hm2/hm2_7i96.0: IO Pin 033 (internal): SSR #0, pin AC Ref (internal) (Output)
hm2/hm2_7i96.0: IO Pin 034 (P1-01): IOPort
hm2/hm2_7i96.0: IO Pin 035 (P1-02): IOPort
hm2/hm2_7i96.0: IO Pin 036 (P1-03): IOPort
hm2/hm2_7i96.0: IO Pin 037 (P1-04): IOPort
hm2/hm2_7i96.0: IO Pin 038 (P1-05): IOPort
hm2/hm2_7i96.0: IO Pin 039 (P1-06): IOPort
hm2/hm2_7i96.0: IO Pin 040 (P1-07): IOPort
hm2/hm2_7i96.0: IO Pin 041 (P1-08): IOPort
hm2/hm2_7i96.0: IO Pin 042 (P1-09): IOPort
hm2/hm2_7i96.0: IO Pin 043 (P1-11): IOPort
hm2/hm2_7i96.0: IO Pin 044 (P1-13): IOPort
hm2/hm2_7i96.0: IO Pin 045 (P1-15): IOPort
hm2/hm2_7i96.0: IO Pin 046 (P1-17): IOPort
hm2/hm2_7i96.0: IO Pin 047 (P1-19): IOPort
hm2/hm2_7i96.0: IO Pin 048 (P1-21): IOPort
hm2/hm2_7i96.0: IO Pin 049 (P1-23): IOPort
hm2/hm2_7i96.0: IO Pin 050 (P1-25): IOPort
hm2/hm2_7i96.0: registered
halcmd: show pin
Component Pins:
Owner Type Dir Value Name
7 float IN 100 hm2_7i96.0.dpll.01.timer-us
7 float IN 100 hm2_7i96.0.dpll.02.timer-us
7 float IN 100 hm2_7i96.0.dpll.03.timer-us
7 float IN 100 hm2_7i96.0.dpll.04.timer-us
7 float IN -1 hm2_7i96.0.dpll.base-freq-khz
7 u32 OUT 0x00000000 hm2_7i96.0.dpll.ddsize
7 float OUT 0 hm2_7i96.0.dpll.phase-error-us
7 u32 IN 0x00400000 hm2_7i96.0.dpll.plimit
7 u32 OUT 0x00000001 hm2_7i96.0.dpll.prescale
7 u32 IN 0x000007D0 hm2_7i96.0.dpll.time-const
7 s32 OUT 0 hm2_7i96.0.encoder.00.count
7 s32 OUT 0 hm2_7i96.0.encoder.00.count-latched
7 bit I/O FALSE hm2_7i96.0.encoder.00.index-enable
7 bit OUT TRUE hm2_7i96.0.encoder.00.input-a
7 bit OUT TRUE hm2_7i96.0.encoder.00.input-b
7 bit OUT FALSE hm2_7i96.0.encoder.00.input-index
7 bit IN FALSE hm2_7i96.0.encoder.00.latch-enable
7 bit IN FALSE hm2_7i96.0.encoder.00.latch-polarity
7 float OUT 0 hm2_7i96.0.encoder.00.position
7 float OUT 0 hm2_7i96.0.encoder.00.position-latched
7 bit OUT FALSE hm2_7i96.0.encoder.00.quad-error
7 bit IN FALSE hm2_7i96.0.encoder.00.quad-error-enable
7 s32 OUT 0 hm2_7i96.0.encoder.00.rawcounts
7 s32 OUT 0 hm2_7i96.0.encoder.00.rawlatch
7 bit IN FALSE hm2_7i96.0.encoder.00.reset
7 float OUT 0 hm2_7i96.0.encoder.00.velocity
7 float OUT 0 hm2_7i96.0.encoder.00.velocity-rpm
7 u32 IN 0x017D7840 hm2_7i96.0.encoder.sample-frequency
7 s32 IN -1 hm2_7i96.0.encoder.timer-number
7 bit OUT FALSE hm2_7i96.0.gpio.000.in
7 bit OUT TRUE hm2_7i96.0.gpio.000.in_not
7 bit IN FALSE hm2_7i96.0.gpio.000.out
7 bit OUT FALSE hm2_7i96.0.gpio.001.in
7 bit OUT TRUE hm2_7i96.0.gpio.001.in_not
7 bit IN FALSE hm2_7i96.0.gpio.001.out
7 bit OUT FALSE hm2_7i96.0.gpio.002.in
7 bit OUT TRUE hm2_7i96.0.gpio.002.in_not
7 bit IN FALSE hm2_7i96.0.gpio.002.out
7 bit OUT FALSE hm2_7i96.0.gpio.003.in
7 bit OUT TRUE hm2_7i96.0.gpio.003.in_not
7 bit IN FALSE hm2_7i96.0.gpio.003.out
7 bit OUT FALSE hm2_7i96.0.gpio.004.in
7 bit OUT TRUE hm2_7i96.0.gpio.004.in_not
7 bit IN FALSE hm2_7i96.0.gpio.004.out
7 bit OUT FALSE hm2_7i96.0.gpio.005.in
7 bit OUT TRUE hm2_7i96.0.gpio.005.in_not
7 bit IN FALSE hm2_7i96.0.gpio.005.out
7 bit OUT FALSE hm2_7i96.0.gpio.006.in
7 bit OUT TRUE hm2_7i96.0.gpio.006.in_not
7 bit IN FALSE hm2_7i96.0.gpio.006.out
7 bit OUT FALSE hm2_7i96.0.gpio.007.in
7 bit OUT TRUE hm2_7i96.0.gpio.007.in_not
7 bit IN FALSE hm2_7i96.0.gpio.007.out
7 bit OUT FALSE hm2_7i96.0.gpio.008.in
7 bit OUT TRUE hm2_7i96.0.gpio.008.in_not
7 bit IN FALSE hm2_7i96.0.gpio.008.out
7 bit OUT FALSE hm2_7i96.0.gpio.009.in
7 bit OUT TRUE hm2_7i96.0.gpio.009.in_not
7 bit IN FALSE hm2_7i96.0.gpio.009.out
7 bit OUT FALSE hm2_7i96.0.gpio.010.in
7 bit OUT TRUE hm2_7i96.0.gpio.010.in_not
7 bit IN FALSE hm2_7i96.0.gpio.010.out
7 bit OUT TRUE hm2_7i96.0.gpio.011.in
7 bit OUT FALSE hm2_7i96.0.gpio.011.in_not
7 bit OUT TRUE hm2_7i96.0.gpio.012.in
7 bit OUT FALSE hm2_7i96.0.gpio.012.in_not
7 bit OUT TRUE hm2_7i96.0.gpio.013.in
7 bit OUT FALSE hm2_7i96.0.gpio.013.in_not
7 bit OUT TRUE hm2_7i96.0.gpio.014.in
7 bit OUT FALSE hm2_7i96.0.gpio.014.in_not
7 bit OUT TRUE hm2_7i96.0.gpio.015.in
7 bit OUT FALSE hm2_7i96.0.gpio.015.in_not
7 bit OUT TRUE hm2_7i96.0.gpio.016.in
7 bit OUT FALSE hm2_7i96.0.gpio.016.in_not
7 bit OUT FALSE hm2_7i96.0.gpio.017.in
7 bit OUT TRUE hm2_7i96.0.gpio.017.in_not
7 bit OUT FALSE hm2_7i96.0.gpio.018.in
7 bit OUT TRUE hm2_7i96.0.gpio.018.in_not
7 bit OUT FALSE hm2_7i96.0.gpio.019.in
7 bit OUT TRUE hm2_7i96.0.gpio.019.in_not
7 bit OUT FALSE hm2_7i96.0.gpio.020.in
7 bit OUT TRUE hm2_7i96.0.gpio.020.in_not
7 bit OUT FALSE hm2_7i96.0.gpio.021.in
7 bit OUT TRUE hm2_7i96.0.gpio.021.in_not
7 bit OUT FALSE hm2_7i96.0.gpio.022.in
7 bit OUT TRUE hm2_7i96.0.gpio.022.in_not
7 bit OUT FALSE hm2_7i96.0.gpio.023.in
7 bit OUT TRUE hm2_7i96.0.gpio.023.in_not
7 bit OUT FALSE hm2_7i96.0.gpio.024.in
7 bit OUT TRUE hm2_7i96.0.gpio.024.in_not
7 bit OUT FALSE hm2_7i96.0.gpio.025.in
7 bit OUT TRUE hm2_7i96.0.gpio.025.in_not
7 bit OUT FALSE hm2_7i96.0.gpio.026.in
7 bit OUT TRUE hm2_7i96.0.gpio.026.in_not
7 bit OUT TRUE hm2_7i96.0.gpio.027.in
7 bit OUT FALSE hm2_7i96.0.gpio.027.in_not
7 bit OUT TRUE hm2_7i96.0.gpio.028.in
7 bit OUT FALSE hm2_7i96.0.gpio.028.in_not
7 bit OUT TRUE hm2_7i96.0.gpio.029.in
7 bit OUT FALSE hm2_7i96.0.gpio.029.in_not
7 bit OUT FALSE hm2_7i96.0.gpio.030.in
7 bit OUT TRUE hm2_7i96.0.gpio.030.in_not
7 bit IN FALSE hm2_7i96.0.gpio.030.out
7 bit OUT TRUE hm2_7i96.0.gpio.031.in
7 bit OUT FALSE hm2_7i96.0.gpio.031.in_not
7 bit IN FALSE hm2_7i96.0.gpio.031.out
7 bit OUT FALSE hm2_7i96.0.gpio.032.in
7 bit OUT TRUE hm2_7i96.0.gpio.032.in_not
7 bit IN FALSE hm2_7i96.0.gpio.032.out
7 bit OUT TRUE hm2_7i96.0.gpio.033.in
7 bit OUT FALSE hm2_7i96.0.gpio.033.in_not
7 bit OUT TRUE hm2_7i96.0.gpio.034.in
7 bit OUT FALSE hm2_7i96.0.gpio.034.in_not
7 bit IN FALSE hm2_7i96.0.gpio.034.out
7 bit OUT TRUE hm2_7i96.0.gpio.035.in
7 bit OUT FALSE hm2_7i96.0.gpio.035.in_not
7 bit IN FALSE hm2_7i96.0.gpio.035.out
7 bit OUT TRUE hm2_7i96.0.gpio.036.in
7 bit OUT FALSE hm2_7i96.0.gpio.036.in_not
7 bit IN FALSE hm2_7i96.0.gpio.036.out
7 bit OUT TRUE hm2_7i96.0.gpio.037.in
7 bit OUT FALSE hm2_7i96.0.gpio.037.in_not
7 bit IN FALSE hm2_7i96.0.gpio.037.out
7 bit OUT TRUE hm2_7i96.0.gpio.038.in
7 bit OUT FALSE hm2_7i96.0.gpio.038.in_not
7 bit IN FALSE hm2_7i96.0.gpio.038.out
7 bit OUT TRUE hm2_7i96.0.gpio.039.in
7 bit OUT FALSE hm2_7i96.0.gpio.039.in_not
7 bit IN FALSE hm2_7i96.0.gpio.039.out
7 bit OUT TRUE hm2_7i96.0.gpio.040.in
7 bit OUT FALSE hm2_7i96.0.gpio.040.in_not
7 bit IN FALSE hm2_7i96.0.gpio.040.out
7 bit OUT TRUE hm2_7i96.0.gpio.041.in
7 bit OUT FALSE hm2_7i96.0.gpio.041.in_not
7 bit IN FALSE hm2_7i96.0.gpio.041.out
7 bit OUT TRUE hm2_7i96.0.gpio.042.in
7 bit OUT FALSE hm2_7i96.0.gpio.042.in_not
7 bit IN FALSE hm2_7i96.0.gpio.042.out
7 bit OUT TRUE hm2_7i96.0.gpio.043.in
7 bit OUT FALSE hm2_7i96.0.gpio.043.in_not
7 bit IN FALSE hm2_7i96.0.gpio.043.out
7 bit OUT TRUE hm2_7i96.0.gpio.044.in
7 bit OUT FALSE hm2_7i96.0.gpio.044.in_not
7 bit IN FALSE hm2_7i96.0.gpio.044.out
7 bit OUT TRUE hm2_7i96.0.gpio.045.in
7 bit OUT FALSE hm2_7i96.0.gpio.045.in_not
7 bit IN FALSE hm2_7i96.0.gpio.045.out
7 bit OUT TRUE hm2_7i96.0.gpio.046.in
7 bit OUT FALSE hm2_7i96.0.gpio.046.in_not
7 bit IN FALSE hm2_7i96.0.gpio.046.out
7 bit OUT TRUE hm2_7i96.0.gpio.047.in
7 bit OUT FALSE hm2_7i96.0.gpio.047.in_not
7 bit IN FALSE hm2_7i96.0.gpio.047.out
7 bit OUT TRUE hm2_7i96.0.gpio.048.in
7 bit OUT FALSE hm2_7i96.0.gpio.048.in_not
7 bit IN FALSE hm2_7i96.0.gpio.048.out
7 bit OUT TRUE hm2_7i96.0.gpio.049.in
7 bit OUT FALSE hm2_7i96.0.gpio.049.in_not
7 bit IN FALSE hm2_7i96.0.gpio.049.out
7 bit OUT TRUE hm2_7i96.0.gpio.050.in
7 bit OUT FALSE hm2_7i96.0.gpio.050.in_not
7 bit IN FALSE hm2_7i96.0.gpio.050.out
7 bit IN FALSE hm2_7i96.0.led.CR01
7 bit IN FALSE hm2_7i96.0.led.CR02
7 bit IN FALSE hm2_7i96.0.led.CR03
7 bit IN FALSE hm2_7i96.0.led.CR04
7 bit OUT FALSE hm2_7i96.0.packet-error
7 bit OUT FALSE hm2_7i96.0.packet-error-exceeded
7 s32 OUT 0 hm2_7i96.0.packet-error-level
7 bit IN FALSE hm2_7i96.0.pwmgen.00.enable
7 float IN 0 hm2_7i96.0.pwmgen.00.value
7 s32 OUT 0 hm2_7i96.0.read-request.time
7 s32 OUT 0 hm2_7i96.0.read.time
7 bit IN FALSE hm2_7i96.0.ssr.00.out-00
7 bit IN FALSE hm2_7i96.0.ssr.00.out-01
7 bit IN FALSE hm2_7i96.0.ssr.00.out-02
7 bit IN FALSE hm2_7i96.0.ssr.00.out-03
7 bit IN FALSE hm2_7i96.0.ssr.00.out-04
7 bit IN FALSE hm2_7i96.0.ssr.00.out-05
7 u32 IN 0x000F4240 hm2_7i96.0.ssr.00.rate
7 bit IN FALSE hm2_7i96.0.stepgen.00.control-type
7 s32 OUT 0 hm2_7i96.0.stepgen.00.counts
7 float OUT 0 hm2_7i96.0.stepgen.00.dbg_err_at_match
7 float OUT 0 hm2_7i96.0.stepgen.00.dbg_ff_vel
7 float OUT 0 hm2_7i96.0.stepgen.00.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_7i96.0.stepgen.00.dbg_s_to_match
7 s32 OUT 0 hm2_7i96.0.stepgen.00.dbg_step_rate
7 float OUT 0 hm2_7i96.0.stepgen.00.dbg_vel_error
7 bit IN FALSE hm2_7i96.0.stepgen.00.enable
7 float IN 0 hm2_7i96.0.stepgen.00.position-cmd
7 float OUT 0 hm2_7i96.0.stepgen.00.position-fb
7 float IN 0 hm2_7i96.0.stepgen.00.velocity-cmd
7 float OUT 0 hm2_7i96.0.stepgen.00.velocity-fb
7 bit IN FALSE hm2_7i96.0.stepgen.01.control-type
7 s32 OUT 0 hm2_7i96.0.stepgen.01.counts
7 float OUT 0 hm2_7i96.0.stepgen.01.dbg_err_at_match
7 float OUT 0 hm2_7i96.0.stepgen.01.dbg_ff_vel
7 float OUT 0 hm2_7i96.0.stepgen.01.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_7i96.0.stepgen.01.dbg_s_to_match
7 s32 OUT 0 hm2_7i96.0.stepgen.01.dbg_step_rate
7 float OUT 0 hm2_7i96.0.stepgen.01.dbg_vel_error
7 bit IN FALSE hm2_7i96.0.stepgen.01.enable
7 float IN 0 hm2_7i96.0.stepgen.01.position-cmd
7 float OUT 0 hm2_7i96.0.stepgen.01.position-fb
7 float IN 0 hm2_7i96.0.stepgen.01.velocity-cmd
7 float OUT 0 hm2_7i96.0.stepgen.01.velocity-fb
7 bit IN FALSE hm2_7i96.0.stepgen.02.control-type
7 s32 OUT 0 hm2_7i96.0.stepgen.02.counts
7 float OUT 0 hm2_7i96.0.stepgen.02.dbg_err_at_match
7 float OUT 0 hm2_7i96.0.stepgen.02.dbg_ff_vel
7 float OUT 0 hm2_7i96.0.stepgen.02.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_7i96.0.stepgen.02.dbg_s_to_match
7 s32 OUT 0 hm2_7i96.0.stepgen.02.dbg_step_rate
7 float OUT 0 hm2_7i96.0.stepgen.02.dbg_vel_error
7 bit IN FALSE hm2_7i96.0.stepgen.02.enable
7 float IN 0 hm2_7i96.0.stepgen.02.position-cmd
7 float OUT 0 hm2_7i96.0.stepgen.02.position-fb
7 float IN 0 hm2_7i96.0.stepgen.02.velocity-cmd
7 float OUT 0 hm2_7i96.0.stepgen.02.velocity-fb
7 bit IN FALSE hm2_7i96.0.stepgen.03.control-type
7 s32 OUT 0 hm2_7i96.0.stepgen.03.counts
7 float OUT 0 hm2_7i96.0.stepgen.03.dbg_err_at_match
7 float OUT 0 hm2_7i96.0.stepgen.03.dbg_ff_vel
7 float OUT 0 hm2_7i96.0.stepgen.03.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_7i96.0.stepgen.03.dbg_s_to_match
7 s32 OUT 0 hm2_7i96.0.stepgen.03.dbg_step_rate
7 float OUT 0 hm2_7i96.0.stepgen.03.dbg_vel_error
7 bit IN FALSE hm2_7i96.0.stepgen.03.enable
7 float IN 0 hm2_7i96.0.stepgen.03.position-cmd
7 float OUT 0 hm2_7i96.0.stepgen.03.position-fb
7 float IN 0 hm2_7i96.0.stepgen.03.velocity-cmd
7 float OUT 0 hm2_7i96.0.stepgen.03.velocity-fb
7 s32 IN -1 hm2_7i96.0.stepgen.timer-number
7 bit I/O FALSE hm2_7i96.0.watchdog.has_bit
7 s32 OUT 0 hm2_7i96.0.write.time
Když dám show pin, tak mi dá názvy, které mohu dosazovat do příkazu net.
Vím že citem a intuicí, si to můžu pospojovat, ale je to takové ......
Dál jsem hledal v dokumentaci od LinuxCNC
Kód: Vybrat vše
http://linuxcnc.org/docs/2.8/html/drivers/hostmot2.html
Odkazují se na složku /usr/share/doc/hostmot2-firmware-<board>/
Ta ale pro /usr/share/doc/hostmot2-firmware-7i96/ neexistuje.
Ono toto rozkódování, co k čemu patří by asi moho být v driveru HostMot2.
Když jsem o něm něco hledal na internetu, tak jsem našel akorát 4 roky staré zdrojáky:
https://github.com/LinuxCNC/hostmot2-firmware ,
kde také neregistrují, že 7i96 vznikla.
Chtěl bych se také zeptat, jak je to rozdělené:
LinuxCNC vytváří jedna parta
MESA karty vytváří druhá parta
Driver HostMot2 vytváří třetí parta lidí?
Je HostMot2 také open source? Existuje k němu nějaká dokumentace?
Nějak nerozumím způsobu myšlení lidí z MESA. Pokud nejlepší způsob využívání jejich produktů je přes LinuxCNC a HAL, tak proč je tak složité pro normálního člověka najít PinOut?
Taky jsem zkoušel najít PinOut na
XILINX
SPARTAN-6
XC6SLX9 TM
TQG144BIV1745
D5515113A
2C
, že by mi to třeba mohlo pomoci, ale nepovedlo se.