EPICS ASYN PORT DRIVER

Note that this code does not take a lock around the call to epicsRingBytesPut, because that is not supposed to be required according to the Application Developer’s Guide. The system exhibiting the problem is: You need to log in to change this bug’s status. Andrew Johnson anj wrote on Problem was a reordering of instructions by newer, more aggressive, GCC optimizers.

Uploader: Megami
Date Added: 26 May 2012
File Size: 37.83 Mb
Operating Systems: Windows NT/2000/XP/2003/2003/7/8/10 MacOS 10/X
Downloads: 84078
Price: Free* [*Free Regsitration Required]

An asyn port driver makes rapid callbacks to asynDevice support for about 10 records.

How To Write Device Support that uses Asyn Driver – EPICS Controls

The asynPrint call in this function was added since asyn R to help in debugging, but otherwise the code is that from asyn R Some of these fields we are allowed or even expected to set, whereas others should not be touched. The system exhibiting the problem is: Other bug subscribers Subscribe someone else. fpics

Comment on this change optional. We’ll assume you’re ok with this, but you can opt-out if you wish. The asyn device support callback function puts each value in a ring buffer and calls scanIoRequest each time.

  ARCHOS CLIPPER MP3 PLAYER DRIVER

On several tested systems this works fine, and the record processes exactly as many times as the callback is called, i. This is the code for getCallbackValue: However, this cannot be the only problem. Adding some ‘volatile’ modifiers seems to have fixed the problem. This bug affects 1 person.

System configuration 3 systems were tested. Andrew Johnson anj wrote on To post a comment you must log in. You are not directly subscribed to this bug’s notifications. When running on the problematic Linux system I do see very rare less than 0.

It is a 4-processor system. You need to log in to change this bug’s status.

Email me about changes to this bug report. Accept Reject Read More.

Bug # (mantis) “scanIoRequest is sometimes not process” : Bugs : EPICS Base

Writing software that calls Asyn is confusing until you understand the approach it expects you to use. Once you understand the choices that Asyn has made though, writing the software eipcs actually simpler than it would be without asyn. Getting Started First, you will need to write the code for a basic device support layer. What is an asynUser? Eric Norum wenorum wrote on Problem was a reordering of instructions by newer, more aggressive, GCC optimizers.

  ACER TRAVELMATE 2203LMI DRIVER

This function calls getCallbackValue to read the value from the ring buffer, if any. Note that this code does not take a lock around the call to epicsRingBytesPut, because that is not supposed to be required according to the Application Developer’s Guide. You must use the methods provided by asynManager.

How To Write Device Support that uses Asyn Driver

This website uses cookies to improve your experience. There are very good reasons azyn the design of Asyn which is intended to simplify the work involved in writing robust, portable code, but this does result in the need to learn the Asyn approach. There are 2 reasons I can think of why the records would not process when scanIoRequest is called.

Bug reported by rivers on