2 months agoSection "download" in the documentation now has download to all modules.
Goetz.Pfeiffer@helmholtz-berlin.de [Wed, 25 May 2022 20:59:03]

These are links to the gitlab mirrors of our original darcs repositories.

2 months agodoc-to-wwwcsr.sh now uses rsync instead of scp.
Goetz.Pfeiffer@helmholtz-berlin.de [Wed, 25 May 2022 20:58:14]
5 months agoTAG R2-8-19
Goetz.Pfeiffer@helmholtz-berlin.de [Mon, 21 Feb 2022 12:54:26]
5 months agoModule tool: The formatting of arg.c was changed a little.
Goetz Pfeiffer [Mon, 21 Feb 2022 09:21:18]
6 months agoTAG R2-8-18
Goetz Pfeiffer [Fri, 21 Jan 2022 22:30:42]
6 months agoScript doc/doc-to-wwwcsr.sh installs the documentation on the HZB webserver.
Goetz Pfeiffer [Fri, 21 Jan 2022 22:29:23]
6 months agoMultiCAN, SCI, SDO and vcan documentation are now made with Sphinx.
Goetz Pfeiffer [Fri, 21 Jan 2022 22:29:22]

All the documentation files have been integrated in a single directory.

6 months agosci is now documented with Sphinx.
Goetz Pfeiffer [Fri, 21 Jan 2022 22:29:02]

The text was mostly taked from the old texinfo documentation.

6 months agoRemoved old texinfo documentation for sci, it will be replaced with sphinx.
Goetz Pfeiffer [Fri, 21 Jan 2022 22:29:00]

The new updated documentation for sci is added with the next patch.
Documentation of sci was not rewritten but converted from texinfo to Sphinx.

6 months agosci.c: Some obsolete settings for the debug ("dbg") module were removed.
Goetz Pfeiffer [Fri, 21 Jan 2022 22:28:56]

The dbg module was rewritten some time ago. A few of the functions and macros
were removed or now have no effect. The changes in sci reflect these changes in
dbg.c.

6 months agoMultiCAN is now published under license GPL v.3.
Goetz Pfeiffer [Fri, 21 Jan 2022 22:28:55]

The hint on the license text was added to all .c files.

The original GPL v.3 was added as file LICENSE.

11 months agoTAG R2-8-17
Goetz.Pfeiffer@helmholtz-berlin.de [Thu, 02 Sep 2021 11:15:00]
11 months agosci_get_object can be used to get an sci_Object by can-id and port.
Goetz Pfeiffer [Thu, 02 Sep 2021 11:14:04]

This function is used for applications where we need to inspect a CAN object
whose sci_Object handle is not available by it's can-id and port number.

11 months agoThe name lowcal uses to get it's sci_Struc handle is now made public.
Goetz Pfeiffer [Thu, 02 Sep 2021 11:14:03]

The macro "LOWCAL_NAME" is now defined in file lowcal.h. This allows
applications to access sci with the same sci_Struc handle as lowcal itself.

Usually we don't need this but in some cases this is useful for debugging or if
an application needs to read low-level properties of an sci object.

11 months agoInteroperability with mercurial was improved.
Goetz Pfeiffer [Thu, 02 Sep 2021 11:14:03]

A file .hgignore was added.

This allows users to temporarily manage the project with mercurial in their
private working copies.

Note that the official version control system for this project is and remains
darcs.

2 years agoTAG R2-8-16
Ben Franksen [Thu, 05 Dec 2019 16:49:41]
2 years agoscan/ellsi: passing MSG_WAITALL has no effect for UDP
Ben Franksen [Thu, 05 Dec 2019 16:48:30]
2 years agoscan/ellsi: use an epics timer to periodically send heartbeat
Ben Franksen [Thu, 05 Dec 2019 16:41:49]

The ELLSI server expects us to send either a CAN message or a heartbeat
every 2.5 seconds. We previously sent the heartbeat only as a response when
we received one. However, the server sends a heartbeat only if there is no
CAN message to be sent, so it is not enough to just respond to the heartbeat.

2 years agoscan/ellsi: print socket in debug and error messages
Ben Franksen [Thu, 05 Dec 2019 16:39:57]
2 years agoTAG R2-8-15
Ben Franksen [Wed, 13 Nov 2019 17:58:43]
2 years agoscan: improve error messages in sci_listen
Ben Franksen [Wed, 13 Nov 2019 17:58:22]
2 years agoscan/ellsi: set recv timeout to 5 seconds unconditionally
Ben Franksen [Wed, 13 Nov 2019 17:58:22]

This is so we can reliably detect disconnect even in cases such as an
unplugged network cable: the server sends a heartbeat every 2.5 seconds. If
we fail to read anything after 5 seconds we can safely assume the server is
dead or unreachable.

2 years agoscan: implement auto-reconnect
Ben Franksen [Wed, 13 Nov 2019 17:57:33]
2 years agoscan: print errno message when system call fails
Ben Franksen [Tue, 12 Nov 2019 17:52:18]
2 years agoscan: print errors and warnings to stderr
Ben Franksen [Tue, 12 Nov 2019 16:13:04]
2 years agofix ellsiConfigPortDef (it takes 4 arguments, not 3)
Ben Franksen [Mon, 11 Nov 2019 17:02:41]
2 years agoscan fix error checking when setting up ellsi protocol
Ben Franksen [Mon, 11 Nov 2019 17:02:33]
2 years agoscan: if ellsi_check fails, return the lastState (and don't call ourselves recursively)
Ben Franksen [Mon, 11 Nov 2019 16:59:46]
2 years agoscan: fix debug messages in ellsi_check
Ben Franksen [Mon, 11 Nov 2019 16:57:45]
2 years agomake ellsi_set_baudrate actually set the baudrate, not a constant
Ben Franksen [Mon, 11 Nov 2019 14:23:50]
4 years agoTAG R2-8-14
Ben Franksen [Wed, 02 May 2018 17:36:58]
4 years agohwLowcalRecord: compatibility fix for base >= 3.15
Ben Franksen [Wed, 02 May 2018 17:36:16]
4 years agouse HDEPENDS_METHOD = MKMF since we generate header files
Ben Franksen [Fri, 27 Apr 2018 18:03:34]
4 years agowriter: add missing include for assert.h
Ben Franksen [Thu, 26 Apr 2018 17:40:30]
4 years agoTAG R2-8-13
Ben Franksen [Fri, 09 Feb 2018 16:53:30]
4 years agovcan_iocsh: fixed argument hints for vcanConfigIrqTimeoutOffsets
Ben Franksen [Fri, 09 Feb 2018 16:52:15]
4 years agoTAG R2-8-12
Ben Franksen [Thu, 25 Jan 2018 15:56:26]
4 years agopsem: in sem_open, regard 0 /and/ -1 as failure; and then print the errno
Ben Franksen [Thu, 25 Jan 2018 15:52:52]

VxWorks and RTEMS-4.9 return -1 on error, while Linux returns SEM_FAILED
which is NULL.

4 years agodevSCI: stop initializing records if init_done is FALSE
Ben Franksen [Thu, 25 Jan 2018 15:48:19]
4 years agoclarify #includes in MultiCAN/src/init/multican.c
Ben Franksen [Thu, 25 Jan 2018 15:46:23]
4 years agoTAG R2-8-11
Ben Franksen [Wed, 15 Nov 2017 18:29:06]
4 years agolowcal: start timeout counter when sending requests, not when enqueueing them
Ben Franksen [Wed, 15 Nov 2017 18:28:56]

The timeout property of a lowcal variable is redefined so as to refer to the
time between sending a request and receiving a response. In other words, the
time spent inside the send queue is not counted. Implementation-wise, this
means we set the timeout counter when dequeueing the request, not when we
enqueue it.

This change avoids spurious errors (PROT_UMSG or PROT_2LATE) that happen
when a varset has many multiplexers enqueued and a pending request times out
due to a send error. In this case, enqueued requests will be sent (because
the writer has higher priority than the timer) and then promptly times out;
the response, when it arrives, will then cause one of the two error message
above.

Another advantage of the new scheme is that the timeout can now be
configured without knowing how many multiplexers there are.

Finally, the implementation is simplified, since we no longer need to remove
elements from the queue, except the head. The functions unqueue and
varsetq_remove are no longer used and have been removed. We could even go
back to using a singly linked list for the send queue.

4 years agolowcal: improved debugging and error reporting for PROT_UMSG/PROT_2LATE
Ben Franksen [Wed, 15 Nov 2017 17:13:37]
4 years agovcan driver: better timestamp reporting
Ben Franksen [Wed, 15 Nov 2017 15:50:45]
4 years agosci: The version number was raised to 3.0.
Goetz.Pfeiffer@helmholtz-berlin.de [Wed, 15 Nov 2017 11:31:45]

This reflects changes in the sci API and enables applications to these changes
into account.

4 years agoadd eol to message issued by gps_write
Ben Franksen [Tue, 14 Nov 2017 17:21:50]
4 years agoTAG R2-8-10
Ben Franksen [Tue, 14 Nov 2017 14:03:29]
4 years agofix: the vcan2 driver is /dev/vcan, not /dev/vcan2
Ben Franksen [Tue, 14 Nov 2017 13:59:45]
4 years agovcan_iocsh: renamed vcanConfigIrqTimeout to vcanConfigIrqTimeoutOffsets
Ben Franksen [Mon, 13 Nov 2017 17:34:08]
4 years agofix in lowcal: lowcal_get must not return PROT_INHIB
Ben Franksen [Mon, 13 Nov 2017 16:29:26]

For compatibility (e.g. with other protocols) gps_write still uses
sci_write_inhibit when this flag is set, but for lowcal we always want to
use the normal sci_write.

Next ->