Skip to content

Commit fadb1c2

Browse files
authored
Merge pull request #3035 from sensille/litehm2-2.9
litehm2 support
2 parents 732919b + 58b4e40 commit fadb1c2

4 files changed

Lines changed: 25 additions & 2 deletions

File tree

docs/man/man9/hm2_eth.9

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ As shipped, the board address is 192.168.1.121.
4040
.SH DESCRIPTION
4141

4242
hm2_eth is a device driver that interfaces Mesa's ethernet based Anything I/O boards (with the HostMot2 firmware) to the LinuxCNC HAL.
43-
The supported boards are: 7I76E, 7I80DB, 7I80HD, 7I92, 7I93, 7I94, 7I95, 7I96, 7I96S, 7I97, 7I98.
43+
The supported boards are: 7I76E, 7I80DB, 7I80HD, 7I92, 7I93, 7I94, 7I95, 7I96, 7I96S, 7I97, 7I98. It also supports boards with the
44+
litehm2 firmware (https://github.com/sensille/litehm2).
4445
The board must have its firmware loaded on the board by the mesaflash(1) program.
4546

4647
hm2_eth is only available when LinuxCNC is configured with "uspace" realtime.

docs/man/man9/hostmot2.9

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ The identifier consists of the last 4 digits of the board serial number, which i
2828
This will make configs less portable, but does mean that boards can be re-connected less carefully.
2929

3030
.SH DESCRIPTION
31-
hostmot2 is a device driver that interfaces the Mesa HostMot2 firmware to the LinuxCNC HAL.
31+
hostmot2 is a device driver that interfaces the Mesa or litehm2 HostMot2 firmware to the LinuxCNC HAL.
3232
This driver by itself does nothing, the boards that actually run the firmware require their own drivers before anything can happen.
3333
Currently drivers are available for PCI, Ethernet, SPI and EPP interfaced cards.
3434

docs/src/config/integrator-concepts.adoc

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,4 +278,22 @@ button to completely turn off your computer. The RTAI group has been
278278
improving this in recent releases, so your LinuxCNC system may shut off by
279279
itself after all.
280280

281+
== Computer/Machine Interface Hardware Options
282+
283+
=== litehm2/rv901t
284+
285+
Litehm2 is a board-agnostic port of the HostMot2 FPGA firmware. The first
286+
board it supports is the linsn rv901t, which was originally built as a LED
287+
controller board, but due to the available I/O it is well suited to act as
288+
a machine controller. It offers around 80 5V-buffered I/O ports and can
289+
switch between all input and all output. it is also easily modified to split
290+
the ports half/half between input and output. The rv901t interfaces to the
291+
computer via Gigabit or 100Mbit Ethernet.
292+
293+
Litehm2 is based on the LiteX framework which supports a wide range of
294+
FPGA boards. Currently only the rv901t is supported, but support for more
295+
boards is under development.
296+
297+
More information can be found at https://github.com/sensille/litehm2.
298+
281299
// vim: set syntax=asciidoc:

src/hal/drivers/mesa-hostmot2/hostmot2.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1811,6 +1811,8 @@ void rtapi_app_exit(void) {
18111811

18121812
// this pushes our idea of what things are like into the FPGA's poor little mind
18131813
void hm2_force_write(hostmot2_t *hm2) {
1814+
if (hm2->llio->set_force_enqueue != NULL)
1815+
hm2->llio->set_force_enqueue(hm2->llio, 1);
18141816
hm2_watchdog_force_write(hm2);
18151817
hm2_ioport_force_write(hm2);
18161818
hm2_encoder_force_write(hm2);
@@ -1830,5 +1832,7 @@ void hm2_force_write(hostmot2_t *hm2) {
18301832
// the IO Port pin directions is set appropriately.
18311833
hm2_ssr_force_write(hm2);
18321834
hm2_outm_force_write(hm2);
1835+
if (hm2->llio->set_force_enqueue != NULL)
1836+
hm2->llio->set_force_enqueue(hm2->llio, 0);
18331837
}
18341838

0 commit comments

Comments
 (0)