aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSylvain Munaut <tnt@246tNt.com>2024-04-29 22:20:01 +0200
committerSylvain Munaut <tnt@246tNt.com>2024-04-30 00:31:37 +0200
commit21e5cac177896df14d697e35a6e9ca13638f0057 (patch)
treead2599ec3a32fafd5f9af6873c278419bc469187 /src
parenta700573548fc8491683b9a06fe0f8bda2ac30cb3 (diff)
iCE1usb: Transmit AIS events to clients
Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Change-Id: I4a35a2ab2537cbc9ecec381ab5078c1b08067925
Diffstat (limited to 'src')
-rw-r--r--src/usb.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/usb.c b/src/usb.c
index e4ba6c0..bb1a294 100644
--- a/src/usb.c
+++ b/src/usb.c
@@ -420,6 +420,18 @@ static void rx_interrupt_errcnt(struct e1_line *line, const struct ice1usb_irq_e
}
}
+ if ((errcnt->flags & ICE1USB_ERR_F_AIS) != (last->flags & ICE1USB_ERR_F_AIS)) {
+ LOGPLI(line, DE1D, LOGL_ERROR, "AIS (BLUE) %s\n",
+ errcnt->flags & ICE1USB_ERR_F_AIS ? "PRESENT" : "ABSENT");
+ if (errcnt->flags & ICE1USB_ERR_F_AIS) {
+ osmo_e1dp_server_event(line->intf->e1d->srv, E1DP_EVT_AIS_ON,
+ line->intf->id, line->id, 0, NULL, 0);
+ } else {
+ osmo_e1dp_server_event(line->intf->e1d->srv, E1DP_EVT_AIS_OFF,
+ line->intf->id, line->id, 0, NULL, 0);
+ }
+ }
+
if ((errcnt->flags & ICE1USB_ERR_F_RAI) != (last->flags & ICE1USB_ERR_F_RAI)) {
LOGPLI(line, DE1D, LOGL_ERROR, "Remote Alarm (YELLOW) %s\n",
errcnt->flags & ICE1USB_ERR_F_RAI ? "PRESENT" : "ABSENT");