From 21e5cac177896df14d697e35a6e9ca13638f0057 Mon Sep 17 00:00:00 2001 From: Sylvain Munaut Date: Mon, 29 Apr 2024 22:20:01 +0200 Subject: iCE1usb: Transmit AIS events to clients Signed-off-by: Sylvain Munaut Change-Id: I4a35a2ab2537cbc9ecec381ab5078c1b08067925 --- src/usb.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') 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"); -- cgit v1.2.3