Projects
osmocom:nightly
osmo-e1d
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 103
View file
osmo-e1d_0.4.0.1.6cd9.202210060002.dsc -> osmo-e1d_0.4.0.6.9d45.202210070002.dsc
Changed
@@ -2,7 +2,7 @@ Source: osmo-e1d Binary: osmo-e1d, libosmo-e1d1, libosmo-e1d-dev, libosmo-octoi0, libosmo-octoi-dev Architecture: any -Version: 0.4.0.1.6cd9.202210060002 +Version: 0.4.0.6.9d45.202210070002 Maintainer: Harald Welte <laforge@osmocom.org> Homepage: https://projects.osmocom.org/projects/osmo-e1d Standards-Version: 3.9.8 @@ -16,8 +16,8 @@ libosmo-octoi0 deb libs extra arch=any osmo-e1d deb net extra arch=any Checksums-Sha1: - 4b8bf0ccf44f01b8f84a3ad79fa5707b771a5288 75776 osmo-e1d_0.4.0.1.6cd9.202210060002.tar.xz + 39ccb153faae50d0fd1ba2bec9c6ad4bc1c1f6ce 76400 osmo-e1d_0.4.0.6.9d45.202210070002.tar.xz Checksums-Sha256: - bfd6eb42229e65dae05fc08db41e76b66fed54392d49cf441baf9e46e7579af6 75776 osmo-e1d_0.4.0.1.6cd9.202210060002.tar.xz + 198943cc6c8fb97cc3fe6ce5f4e85a0b2161d6487fa53f25db2be6e32c94ec29 76400 osmo-e1d_0.4.0.6.9d45.202210070002.tar.xz Files: - 222c7753be3977db483be6f1049d464b 75776 osmo-e1d_0.4.0.1.6cd9.202210060002.tar.xz + fe6c14365e2a6af2ea0cfb48557df60d 76400 osmo-e1d_0.4.0.6.9d45.202210070002.tar.xz
View file
osmo-e1d_0.4.0.1.6cd9.202210060002.tar.xz/.tarball-version -> osmo-e1d_0.4.0.6.9d45.202210070002.tar.xz/.tarball-version
Changed
@@ -1 +1 @@ -0.4.0.1-6cd9.202210060002 +0.4.0.6-9d45.202210070002
View file
osmo-e1d_0.4.0.1.6cd9.202210060002.tar.xz/debian/changelog -> osmo-e1d_0.4.0.6.9d45.202210070002.tar.xz/debian/changelog
Changed
@@ -1,8 +1,8 @@ -osmo-e1d (0.4.0.1.6cd9.202210060002) unstable; urgency=medium +osmo-e1d (0.4.0.6.9d45.202210070002) unstable; urgency=medium * Automatically generated changelog entry for building the Osmocom nightly feed - -- Osmocom OBS scripts <info@osmocom.org> Thu, 06 Oct 2022 00:03:45 +0000 + -- Osmocom OBS scripts <info@osmocom.org> Fri, 07 Oct 2022 00:03:17 +0000 osmo-e1d (0.4.0) unstable; urgency=medium
View file
osmo-e1d_0.4.0.1.6cd9.202210060002.tar.xz/debian/control -> osmo-e1d_0.4.0.6.9d45.202210070002.tar.xz/debian/control
Changed
@@ -21,14 +21,14 @@ Package: osmo-e1d Architecture: any Multi-Arch: foreign -Depends: osmocom-nightly (= 202210060002), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-nightly (= 202210070002), ${misc:Depends}, ${shlibs:Depends} Description: osmo-e1d: Osmocom's E1 interface daemon Package: libosmo-e1d1 Section: libs Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 202210060002), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-nightly (= 202210070002), ${misc:Depends}, ${shlibs:Depends} Pre-Depends: ${misc:Pre-Depends} Description: Client library for talking to the Osmocom E1 interface daemon osmo-e1d. @@ -36,7 +36,7 @@ Section: libdevel Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 202210060002), ${misc:Depends}, ${shlibs:Depends}, +Depends: osmocom-nightly (= 202210070002), ${misc:Depends}, ${shlibs:Depends}, libosmo-e1d1 (= ${binary:Version}), libosmocore-dev, Description: Development headers for the osmo-e1d library. @@ -45,7 +45,7 @@ Section: libs Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 202210060002), ${misc:Depends}, ${shlibs:Depends} +Depends: osmocom-nightly (= 202210070002), ${misc:Depends}, ${shlibs:Depends} Pre-Depends: ${misc:Pre-Depends} Description: Library for the Osmocom Community TDMoIP network. @@ -53,7 +53,7 @@ Section: libdevel Architecture: any Multi-Arch: same -Depends: osmocom-nightly (= 202210060002), ${misc:Depends}, ${shlibs:Depends}, +Depends: osmocom-nightly (= 202210070002), ${misc:Depends}, ${shlibs:Depends}, libosmo-octoi0 (= ${binary:Version}), libosmocore-dev, Description: Development headers for the Osmocom Community TDMoIP library.
View file
osmo-e1d_0.4.0.1.6cd9.202210060002.tar.xz/src/e1d.h -> osmo-e1d_0.4.0.6.9d45.202210070002.tar.xz/src/e1d.h
Changed
@@ -67,6 +67,7 @@ LINE_GPSDO_TUNE_COARSE, LINE_GPSDO_TUNE_FINE, LINE_GPSDO_FREQ_EST, + LINE_GPSDO_ERR_ACC, }; enum e1_ts_mode { @@ -173,6 +174,11 @@ struct { char *serial_str; + struct { + bool manual; + uint16_t coarse; + uint16_t fine; + } gpsdo; } usb; bool vty_created;
View file
osmo-e1d_0.4.0.1.6cd9.202210060002.tar.xz/src/ice1usb_proto.h -> osmo-e1d_0.4.0.6.9d45.202210070002.tar.xz/src/ice1usb_proto.h
Changed
@@ -65,6 +65,7 @@ uint8_t mode; /*!< Current configured operating mode */ struct e1usb_gpsdo_tune tune; /*!< Current VCXO tuning values */ uint32_t freq_est; /*!< Latest frequency estimate measurement */ + int16_t err_acc; /*!< Accumulated error (since fw icE1usb-fw-0.3 commit cfb8b0b7) */ } __attribute__((packed));
View file
osmo-e1d_0.4.0.1.6cd9.202210060002.tar.xz/src/intf_line.c -> osmo-e1d_0.4.0.6.9d45.202210070002.tar.xz/src/intf_line.c
Changed
@@ -75,6 +75,7 @@ LINE_GPSDO_TUNE_COARSE= { "gpsdo:tune:coarse", "GSPDO Coarse Tuning" }, LINE_GPSDO_TUNE_FINE = { "gpsdo:tune:fine", "GSPDO Fine Tuning" }, LINE_GPSDO_FREQ_EST = { "gpsdo:freq_est", "GSPDO Frequency Estimate" }, + LINE_GPSDO_ERR_ACC = { "gpsdo:err_acc", "GPSDO Accumulated Error" }, }; static const struct osmo_stat_item_group_desc line_stats_desc = {
View file
osmo-e1d_0.4.0.1.6cd9.202210060002.tar.xz/src/usb.c -> osmo-e1d_0.4.0.6.9d45.202210070002.tar.xz/src/usb.c
Changed
@@ -635,8 +635,8 @@ { const uint16_t bmReqType = LIBUSB_RECIPIENT_INTERFACE | LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_ENDPOINT_OUT; - return _e1_usb_intf_send_ctrl(intf, bmReqType, ICE1USB_INTF_SET_GPSDO_MODE, 0, - (uint8_t *)&gpsdo_mode, sizeof(gpsdo_mode)); + return _e1_usb_intf_send_ctrl(intf, bmReqType, ICE1USB_INTF_SET_GPSDO_MODE, gpsdo_mode, + NULL, 0); } int @@ -645,7 +645,7 @@ const uint16_t bmReqType = LIBUSB_RECIPIENT_INTERFACE | LIBUSB_REQUEST_TYPE_VENDOR | LIBUSB_ENDPOINT_OUT; return _e1_usb_intf_send_ctrl(intf, bmReqType, ICE1USB_INTF_SET_GPSDO_TUNE, 0, - (uint8_t *)gpsdo_tune, sizeof(gpsdo_tune)); + (uint8_t *)gpsdo_tune, sizeof(*gpsdo_tune)); } int @@ -706,14 +706,29 @@ { struct e1_usb_intf_data *id = intf->drv_data; struct e1usb_gpsdo_status *last_st = &id->gpsdo.last_status; - const struct e1usb_gpsdo_status *st; + struct e1usb_gpsdo_status _st, *st = &_st; struct e1_line *line; if (len < sizeof(*st)) { - LOGPIF(intf, DE1D, LOGL_ERROR, "GPSDO status %zu < %zu!\n", len, sizeof(*st)); - return; + /* + * Because some fields can be added to the structure by newer + * firmware revisions, this means we can potentially get a shorter + * struct than what we asked for. We simply set those fields to + * zero. + * + * The opposite case (newer firmware than e1d) means the structure + * could be larger, but because we limit the wLength to the struct + * we know, we can't receive a larger one and the new fields are + * just ignored by this e1d version + */ + LOGPIF(intf, DE1D, LOGL_DEBUG, + "GPSDO status %zu < %zu ! Firmware probably outdated. " + "Some values will be zeroed\n", + len, sizeof(*st)); } - st = (const struct e1usb_gpsdo_status *) data; + + memset(st, 0x00, sizeof(*st)); + memcpy(st, data, len); if (st->state != last_st->state) { LOGPIF(intf, DE1D, LOGL_NOTICE, "GPSDO state change: %s -> %s\n", @@ -750,6 +765,7 @@ line_stat_set(line, LINE_GPSDO_TUNE_COARSE, libusb_le16_to_cpu(st->tune.coarse)); line_stat_set(line, LINE_GPSDO_TUNE_FINE, libusb_le16_to_cpu(st->tune.fine)); line_stat_set(line, LINE_GPSDO_FREQ_EST, osmo_load32le(&st->freq_est)); + line_stat_set(line, LINE_GPSDO_ERR_ACC, (int16_t)libusb_le16_to_cpu(st->err_acc)); } /* update our state */ @@ -773,6 +789,17 @@ { struct e1_usb_intf_data *id = intf->drv_data; + if (intf->usb.gpsdo.manual) { + struct e1usb_gpsdo_tune tune = { + .coarse = intf->usb.gpsdo.coarse, + .fine = intf->usb.gpsdo.fine, + }; + e1_usb_ctrl_set_gpsdo_mode(intf, ICE1USB_GPSDO_MODE_DISABLED); + e1_usb_ctrl_set_gpsdo_tune(intf, &tune); + } else { + e1_usb_ctrl_set_gpsdo_mode(intf, ICE1USB_GPSDO_MODE_AUTO); + } + osmo_timer_setup(&id->gpsdo.poll_timer, &_e1_usb_gpsdo_poll_cb, intf); osmo_timer_schedule(&id->gpsdo.poll_timer, 1, 0); }
View file
osmo-e1d_0.4.0.1.6cd9.202210060002.tar.xz/src/vty.c -> osmo-e1d_0.4.0.6.9d45.202210070002.tar.xz/src/vty.c
Changed
@@ -302,6 +302,38 @@ return CMD_SUCCESS; } +DEFUN(cfg_e1d_if_gpsdo_manual, cfg_e1d_if_gpsdo_manual_cmd, + "gpsdo-manual <0-4095> <0-4095>", + "Set the GPS-DO to manual mode with the provided tune values\n" + "Coarse tune value\n" + "Fine tune value\n") +{ + struct e1_intf *intf = vty->index; + + if (intf->drv != E1_DRIVER_USB) + return CMD_WARNING; + + intf->usb.gpsdo.manual = true; + intf->usb.gpsdo.coarse = atoi(argv0); + intf->usb.gpsdo.fine = atoi(argv1); + + return CMD_SUCCESS; +} + +DEFUN(cfg_e1d_if_no_gpsdo_manual, cfg_e1d_if_no_gpsdo_manual_cmd, + "no gpsdo-manual", + NO_STR "Set the GPS-DO back to automatic mode\n") +{ + struct e1_intf *intf = vty->index; + + if (intf->drv != E1_DRIVER_USB) + return CMD_WARNING; + + intf->usb.gpsdo.manual = false; + + return CMD_SUCCESS; +} + DEFUN(cfg_e1d_if_line, cfg_e1d_if_line_cmd, "line <0-255>", "Configure an E1 line\n" "E1 Interface Number\n") @@ -387,6 +419,8 @@ vty_out(vty, " interface %u icE1usb%s", intf->id, VTY_NEWLINE); if (intf->usb.serial_str && strlen(intf->usb.serial_str)) vty_out(vty, " usb-serial %s%s", intf->usb.serial_str, VTY_NEWLINE); + if (intf->usb.gpsdo.manual) + vty_out(vty, " gpsdo-manual %d %d%s", intf->usb.gpsdo.coarse, intf->usb.gpsdo.fine, VTY_NEWLINE); break; case E1_DRIVER_VPAIR: vty_out(vty, " interface %u vpair%s", intf->id, VTY_NEWLINE); @@ -417,6 +451,8 @@ install_element(E1D_NODE, &cfg_e1d_if_vpair_cmd); install_element(INTF_NODE, &cfg_e1d_if_line_cmd); install_element(INTF_NODE, &cfg_e1d_if_usb_serial_cmd); + install_element(INTF_NODE, &cfg_e1d_if_gpsdo_manual_cmd); + install_element(INTF_NODE, &cfg_e1d_if_no_gpsdo_manual_cmd); install_node(&line_node, NULL); install_element(LINE_NODE, &cfg_e1d_if_line_mode_cmd);
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.