MESA 7i96 - HostMot2 - PinOut - kde najít?

Odpovědět
Uživatelský avatar
zz912
Příspěvky: 1349
Registrován: 25. 5. 2008, 7:16

11. 4. 2020, 7:08

Zdravím,

když jsem začínal s Arduinem, tak když jsem potřeboval dosadit do funkcí např.:

Kód: Vybrat vše

DigitalRead()
digitalWrite()
analogRead()
analogWrite() 
nějaký pin, tak jsem si jej našel na takovémhle obrázku:
Arduino_Pinout.png
Citace z: https://diyi0t.com/wp-content/uploads/2 ... nout-1.png

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
}
Když chci to samé udělat pomocí HAL a MESY 7i96, tak jse si stvořil vlastní HelloWorld:

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/
Má otázka zní, jak zjistit, že:
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ž mu dám načíst hm2_eth, tak mi popíše co je na fyzických pinech.
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
a tam ještě ani neregistrují, že 7i96 vznikla.
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.
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

11. 4. 2020, 7:34

Projdi si to pomoci halshow nebo jak se to klikaci rozhrani jmenuje
Gpio pin v halu odpovida io pinu na mese dle obrazku a pinoutu v dokumentaci v jejich pdf
k te karte
Vsechna prava na chyby vyhrazena (E)
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

11. 4. 2020, 9:34

zz912 píše: 11. 4. 2020, 7:08 ...
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?
...
Nevím, jestli správně chápu Tvou otázku. Pokud ne, tak to ignoruj.

Já jsem zatím ještě tuhle ethernetovou Mesu vůbec nepřipojil. Má zatím koronavirové prázdniny. Takže budu psát jak je to u jiných Mesa karet.
Ale to je vcelku jedno, protože jejich fungování je principiálně stejné. Jen se liší v tom, jakým způsobem jsou připojené k řídicímu PC (po PCI, ethernetu nebo třeba LPT) a kde mají firmware.

Obecně jsou chytré Mesa karty programovatelný HW. Jejich funkce není předem dána. Co budou dělat a jaké budou mít funkce zavisí na tom, jaký firmware do nich naleješ.

Jsou karty úplně obecné, což je třeba moje oblíbená 7i90 (po LPT). Nebo by to byla 7i93 po ethernetu, kterou původně chtěl, ale pak se nechal zlákat nízkou 7i96 cenou při hromadném nákupu.
Tyhle univerzální karty mají prostě každý pin zcela volně programovatelný. Takže na jedné noze může být s jedním firmware třeba výstup STEP pro krokáč, s jiným firmware tam bude třeba sériový port, vstup od pravítka nebo třeba obecná vstupní nebo výstupní linka.

Různé předvařené karty, jako je třeba ta 7i96, už tak úplně univerzální z principu být nemohou, protože už na sobě mají nějaký další HW (výstupní budiče, vstupní optrony atd.), takže už je u nich minimálně dáno které linky můžou být vstupní nebo výstupní.

Jak je to s tím firmware: tyhle chytré karty mají jako základ hradlové pole FPGA. Funkce, co bude to FPGA dělat, je dána příslušným firmware. Ten se musí vždy po startu do daného FPGA nahrát, po vypnutí se zase zapomene (funguje to jako RAM). Může se tam nahrávat buď z konfigurační Flash přímo na kartě Mesa, nebo u některých PCI a LPT karet se tam může nahrát při startu z PC.
No a firma Mesa připravila pro své karty firmware, které obsahují nějaké typické konfigurace. Ale navíc je ten firmware jako open-source a je možné ho uživatelsky měnit. Není to snadné a vyžaduje to dost znalostí a instalaci několik GB různého software. Ale minimálně pro PCI a LPT karty je to k dispozici (tam jsem to i dělal). Předpokládám, že to bude možné i pro verze ethernetové, ale to jsem prakticky ještě nezkoušel.

Takže z výše uvedeného plyne, že Mesa nemohla publikovat nějaký seznam co je na které noze, protože s jiným firmware by tam bylo zase něco jiného. Takže by mohla vydat jen seznam ke konkrétnímu firmware.

Ten firmware je dělán chytře. Takže jeho funkce se dokonce dá do jisté míry konfigurovat i z připojeného PC prostřednictvím driveru Hostmot. Tenhle driver je spojnice mezi jádrem LinuxCNC a danou kartou Mesa. Opět je open-source, což je super.
No a ten firmware karty je navíc tak chytrý, že umí sdělit driveru Hostmot a tedy celému LinuxCNC svou konfiguraci. To, o čem jsi lehce s despektem psal, že se dá konfigurace zobrazit aspoň takto, tak to je (podle mě) hodně skvělý počin. Mnoho jiných programovatelných karet o sobě neprozradí nic.
Karta ale driveru sdělí jen funkcionalitu jednotlivých pinů a bloků. Jak se ty piny budou jmenovat a ovládat z hlediska LinuxCNC už je pak role toho driveru Hostmot a LinuxCNC.
prcek
Příspěvky: 692
Registrován: 31. 10. 2016, 2:26

11. 4. 2020, 9:49

Mex píše: 11. 4. 2020, 9:34 Nevím, jestli správně chápu Tvou otázku. Pokud ne, tak to ignoruj.
Nevim, jestli tohle chtel zz912 slyset, ale ja moc a moc dekuju, tohle by mi trvalo nastudovat a pochopit nekolik let, takhle to mam v nekolika odstavcich na stribrnem podnose.
--
Všechno je snadné, než to zkusíš sám.
Uživatelský avatar
zz912
Příspěvky: 1349
Registrován: 25. 5. 2008, 7:16

12. 4. 2020, 8:24

Mex píše: 11. 4. 2020, 9:34 To, o čem jsi lehce s despektem psal, že se dá konfigurace zobrazit aspoň takto, tak to je (podle mě) hodně skvělý počin. Mnoho jiných programovatelných karet o sobě neprozradí nic.
No mrzí mě, pokud z mého přízpěvku vyznívá despekt, ale je to přesně naopak. K lidem co dokážou něco takového vytvořit chovám respekt.

Jak vidím Linux CNC já:
1) Linux CNC + Wizard + nějaký obecný LPT port = MACH3 + LPT port = někomu funguje, někomu ne
2) Linux CNC + Wizard + MESA karta = MACH3 + spolehlivý HW interpolátor = funkční věc s omezeními
3) Linux CNC + HAL + MESA karta = úžasná věc odpovídající průmyslovým produktům za statisice Kč

1) Obecně doporučované pro začátečníky - ovšem zbytečně špatná reklama pro LinuxCNC
2) Mnou doporučované řešení pro začátečníky
3) Pro běžného uživatele hoodně trnitá cesta

No a tu třetí cestu bych se rád pokusil změnit. To, že nejsem jediný je vidět i zde:
tohle by mi trvalo nastudovat a pochopit nekolik let, takhle to mam v nekolika odstavcich na stribrnem podnose.
Snažím se uvažovat stejně jako u projekt Arduino.
Kdybych potřeboval blikat LEDkou a někdo mi řekl:
- kup si ATmega328
- nastuduj si problematiku zapojování mikrokontrolérů
- nastuduj si problematiku programování mikrokontrolérů
Tak se o to ani nepokusím.

Když jsem ale na internetu našel návod na rozblikání LEDky pomocí Arduina, který byl kratší, než můj dotaz zde, tak jsem se do toho pustil hned.

To, že pro Tebe výpis "show pin" je přímo otevřená brána do prostředí HostMot, neznamená, že je to otevřená brána i pro ostatní.

To co jsi psal, jsem asi tak nějak už věděl, proto se snažím spíše více zjistit o driveru HostMot2.

Chápu, že MESA prodává své produkty jako obecnou věc, kterou bych mohl klidně ovládat vlastním softwarem (kdybych ho uměl napsat) třeba i robota. Ovšem na druhou stranu existuje až nápadné propojení mezi MESA a LinuxCNC. Zároveň ty plošňáky s FPGA jsou až nápadně moc vhodné pro CNC stroje. Není mi ale jasné, jakou roli zde hraje HostMot2. Používá se to i k něčemu jinému, než k MESÁM ?

No a teď k tomu o co snažím najít:

Kód: Vybrat vše

-------------------------------------------------------------------------------------------
Fyzický PIN TB3-01 odpovídá virtuálnímu PINU
hm2_7i96.0.gpio.000.in
hm2_7i96.0.gpio.000.in_not

Fyzický PIN TB3-02 odpovídá virtuálnímu PINU
hm2_7i96.0.gpio.001.in
hm2_7i96.0.gpio.001.in_not

Fyzický PIN TB3-03 odpovídá virtuálnímu PINU
hm2_7i96.0.gpio.002.in
hm2_7i96.0.gpio.002.in_not

až

Fyzický PIN TB3-11 odpovídá virtuálnímu PINU
hm2_7i96.0.gpio.010.in
hm2_7i96.0.gpio.010.in_not
-------------------------------------------------------------------------------------------
Fyzický PIN TB3-13/TB3-14 odpovídá virtuálnímu PINU
hm2_7i96.0.ssr.00.out-00

Fyzický PIN TB3-15/TB3-16 odpovídá virtuálnímu PINU
hm2_7i96.0.ssr.00.out-01

Fyzický PIN TB3-17/TB3-18 odpovídá virtuálnímu PINU
hm2_7i96.0.ssr.00.out-02

až

Fyzický PIN TB3-23/TB3-24 odpovídá virtuálnímu PINU
hm2_7i96.0.ssr.00.out-05
 
Tohle když uvidí někdo, kdo si taky jen hrál s Arduinem, tak mu zazáří oči a bude vědět, že je to vlastně stejný.

Pro mě je matoucí:
Proč třeba existuje "hm2_7i96.0.gpio.000.out" konkrétně pro 7i96, když je tam fyzicky optočlen?
K čemu slouží "hm2_7i96.0.gpio.050.in" když ta karta má jen 11 vstupů?

Dále si nejsem jistý, jak pokračovat u dalších fyzických PINů abych k nim přiřadil PINy virtuální. Naštěstí nepotřebuji řešit encoder. Tady nevím ani kde začít.

No vlastně vím. Rozchodím to přes Wizard, najdu souvislosti ve vygenerovaných souborech a doplním tabulku viz výše. Ovšem tahle cesta je taková ...
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

12. 4. 2020, 8:40

Ten halshow jsi uz zkousel?
Protoze jakmile to pustis zacne ti byt spousta veci naprosto jasna
Muzu tu napsat megabajt textu
Ale kdyz si to pustis budes za dve minutky na tom samem

Treba kdyz si tam rozkliknes encoder tak ti zacne dochazet jak jsou psane vsechny ty komponenty do halu vcetne hm2

Proste ty piny jsou tam mnohdy zdvojene
Takze existuje pin22 a pin22-not
A to jen z duvodu ze by jsi nahodou potreboval jeho negovanou verzi
Tudiz pak nemusis pouzivat logicky invertor a dalsi dva radky halu

Kdyz si to proklikas v tom stromovem nahledu hned ti to bude o hodne velkej kus jasnejsi
Fakt to udelej
Nechapu jak bez toho muzes psat hal

Vic info je tu
http://linuxcnc.org/docs/html/hal/halshow.html
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
zz912
Příspěvky: 1349
Registrován: 25. 5. 2008, 7:16

12. 4. 2020, 10:58

HAL SHOW znam. Dokonce ho lze spustit tak, ze v jednom prikazovym radku lze spustit halrun a do nej nacist jen hostmot2 a nacist jen konkretni MESU a zaroven v druhem prikazovem radku dam halshow. Tim dosahnu toho, ze vidim jen PINy, signaly a parametry tykajici se pouze driveru hostmot2.

Jak jsem psal na zacatku. Ted uz vim jak se dostat k tomu co potrebuji, ale i halshow beru jako cestu reverzniho engineeringu.

Jak vis, tak na svem blogu se pokousim o navod pro absolutni zacatecniky, co zvladly MACH3 nebo Arduino. No a nechci psat ve stylu, tohle si projdi a souvislosti pochopis. Je to z toho duvodu, ze ty uz mas hodne zkusenosti a hodne ti docvakne uz jen z naznaku.
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

12. 4. 2020, 11:15

No prave halshow je ten naznak pri kterem mi docvakne jak to kdo myslel...
Nemusim lezt po manualech a procitat texty...

Ten pinout je dle meho nazoru po rozklikani v halshow dost intuitivni
Vubec se nezabyvam myslenkou vlastniho firmware do mesy. Zvlast u tech velmi konkretnich karet. Povazuju to za okrajovou zalezitost.

Takze pak staci porovnat vypis pinu s tim jak jsou na karte ty signaly vyvedene na konektory (pdf od mesy) a mas to...
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
zz912
Příspěvky: 1349
Registrován: 25. 5. 2008, 7:16

12. 4. 2020, 11:56

robokop píše: 12. 4. 2020, 11:15 Nemusim lezt po manualech a procitat texty...
No a to je přesně to, co tu řeším. Každému vyhovuje jiný způsob učení se.

Můj způsob je ten, že:
- nejdřív si to ošahám (spoustě věcí neporozumím, ale spoustě ano)
- jdu do návodu
- vrátím se k ošahávání
- tento postup opakuji pořád dokola až k pochopení problematiky, pokud nepochopím zeptám se na fóru

Problém je ten, že o HostMot2 jsem moc nenašel.

Chápu, že tento způsob učení se nehodí pro spoustu případů. Například k něžnému pohlaví ani návod neexistuje. Tudíž body 2 a 4 vynechám.

Ovšem když už je tady vše open-source, tak jsem se zkusil zeptat.

Když mi MEX vysvětlil jak funguje zapojení STEP+ a STEP- a zapojení výstupů, tak svět se točí dál, tráva je furt zelená, ale já jsem spokojenější, protože jsem si to mohl projít s manuálem od MESy a zjistil, že popis vstupů, výstupů a STEPů mají správně. :-) Nečekaně :-)
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

12. 4. 2020, 4:41

vsak ja funguju uplne stejne

ten hostmot ma popsane jen obecny chovani a ta konfigurace IO je vzdy vycunuta podle toho co to najde presne za hardware, na to aby ses kouknul co tam je k dispozici vyuzije vyse zminene nastroje
na jake piny jakyh konektoru to pak vede najdes zase v pdf od mesy

co ti schazi za informace?
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
zz912
Příspěvky: 1349
Registrován: 25. 5. 2008, 7:16

12. 4. 2020, 7:43

robokop píše: 12. 4. 2020, 4:41 na jake piny jakyh konektoru to pak vede najdes zase v pdf od mesy
V tomhle pdf?
http://www.mesanet.com/pdf/parallel/7i96man.pdf
Existuje ještě nějaké více podrobnější?

Halshow je defakto to samé, co výpis z halrunu "show", akorát v halshow tam jde zapnout WATCH.

Když už se smířím s tím, že nějak dopasuji to co k sobě patří. Tak bych měl poslední dotaz.
Jak bez znalosti firmware poznám na P1 EXPANSION CONNECTOR který pin je nastaven na input a který na output?
Virtuální PINy jsou nachystané na obě varianty:
11 bit OUT TRUE hm2_7i96.0.gpio.034.in
11 bit OUT FALSE hm2_7i96.0.gpio.034.in_not
11 bit IN FALSE hm2_7i96.0.gpio.034.out

V arduino se to nastavovalo přes:

Kód: Vybrat vše

void setup() {
  pinMode(ledPin, OUTPUT);  // sets the digital pin 13 as output
  pinMode(inPin, INPUT);    // sets the digital pin 7 as input
}
Jak je to u MESY?

Ještě mám další otázku netýkající se přímo PIN OUTu. Když už jsem se tím prohrabával, tak jsem v halshow nenašel virtuální piny, na které se odkazuji v halu vygenerovaném Wizardem viz obrázek.
7i96_nejasne_virtualni_piny.png
Bude mi to vůbec fungovat?
LinuxCNC - MESA 7i96
zz912.webnode.cz
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22371
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

12. 4. 2020, 9:25

Ano to je to pdf

Paklize resis expansion tak musis pokud vim nastavit smer pinu jestli je in nebo out. Ty piny jsou v halu dostupne ne vsech variantach to je pro jednoduchost a myslim ze za behu komponenty to us stejne nejde pridavat a ubirat.
Ten smer neni tusim mezi pinama ale v setupu ty karty. Proklikej si ten strom a krom pinu tam jsou jeste signaly tak jak sis je pojmenoval v halu prikazem net a pak tam jsou nastaveni tech komponent to je dalsi separatni vetev a tam bude znova ta mesa a parametry co se na ni daji nastavit.

Promin ze to takhle opisuju ale ja si nejsem schopnej pamatovat detaily.
Vsechna prava na chyby vyhrazena (E)
Uživatelský avatar
zz912
Příspěvky: 1349
Registrován: 25. 5. 2008, 7:16

11. 8. 2021, 6:45

Zjistil jsem i po roce a neco, ze toto vkakno nekdo jeste cte, tak si odpovim na otazku kterou jsem pokladal. Problem byl v tom, ze jsem vedel, ze mi nejake informace chybi, ale nevedel jsem, jak se zeptat na neco co nevim.

Chtel jsem si nastudovat neco o Mesach a informace byly na linuxcnc.org zastarale, nebo pro 7i96 chybeli. To co me matlo, tak informace, ktere jsem potreboval, byli u Arduina v PinOutu. U Mes je to tak, ze PinOut je v manualu, ale je to jen holy PinOut. Zato informace, ktere jsem hledal jsem nasel v manualu driveru hostmot2. Ale jak se dostat k manualu hostmot2 jsem zjistil az hodne dlouho po tomto dotazu a nasel jsem to nahodou.

Kód: Vybrat vše

man hostmot2
Pak po prostudovani jsme se s Mesou zacali kamaradit jeste vice.

Dalsi vec, co je ze zacatku matouci, tak, ze driver hostmot2 generuje hodne zbytecnych HAL pinu. Proste je ignorujte, to je vse. :D

Joooo to byly zacatky....
LinuxCNC - MESA 7i96
zz912.webnode.cz
Mex
Příspěvky: 10288
Registrován: 6. 2. 2014, 10:29

11. 8. 2021, 7:07

zz912 píše: 11. 8. 2021, 6:45 Dalsi vec, co je ze zacatku matouci, tak, ze driver hostmot2 generuje hodne zbytecnych HAL pinu. Proste je ignorujte, to je vse. :D
Tak ti člověče nevím.
Říct o něčem, že je to zbytečné, jen proto, že já to nepotřebuju nebo nevím k čemu to je - to mi přijde dost odvážné, až namistrované.

Můj názor na Mesu a vše kolem ní: v téhle firmě musí dělat hodně chytří lidé. Jak koncepční pojetí, tak vlastní HW je něco, kde se dá opravdu hodně inspirovat a naučit.

Kde už je to (podle mě) trochu slabší, to jsou jejich programátoři. V konkrétní realizaci těch driverů je občas dost bordel, a často to nevypadá ani moc dobře napsané.
Jako by to vymýšlel dobrý analytik, ale vlastní kód pak bouchal nějaký brigádník.
Uživatelský avatar
zz912
Příspěvky: 1349
Registrován: 25. 5. 2008, 7:16

11. 8. 2021, 7:11

No ja jsem narazel treba na to, ze hostmot2 vytvori halpin typu input na fyzickem pinu, na kterem uz je nadefinovan treba ssr vystup.
LinuxCNC - MESA 7i96
zz912.webnode.cz
Odpovědět

Zpět na „LinuxCNC - drive pod nazvem EMC2“