Below is the API comparison of these two different packages.
| Category | CA 3.14 | caPython | PythonCA | CaChannel | epicsPV |
| Connection | - ca_create_channel
- ca_clear_channel
| - new_chid()
- clear_channel(chid)
- search_and_connect(pv_name, chid, 0, callback_args)
- search(pv_name, chid)
- state(chid)
| - search(pv_name, callback)
- clear(chid)
| | |
| Read and Write | | - array_put(dtype, count, chid, val)
- array_put_callback(dtype, count, chid, val, 0, callback_args)
- array_get(dtype, count, chid, val)
- array_get_callback(dtype, count, chid, val, 0, callback_args)
| - get(chid, cb, dtype, count)
- put(chid, val, callback)
| - getw(dtype, count)
- putw(value,dtype)
| - array_get(dtype, count)
- getw(dtype, count)
- getValue()
|
| Event Callback | - ca_create_subscription
- ca_clear_subscription
| - new_evid()
- add_masked_array_event(dtype, count, chid, 0, callback_args, 0, 0, evid, mask)
- free_evid(evid)
| - monitor(chid, callback, count, mask)
- clear_monitor(evid)
| | - setMonitor()
- checkMonitor()
- clearMonitor()
| |
| Execute | - ca_pend_io
- ca_pend_event
- ca_poll
- ca_flush_io
| - pend_io(timeout)
- pend_event(timeout)
- poll()
- flush_io()
| - pend_io(timeout)
- pend_event(timeout)
- poll()
- flush_io()
| | |
| Info | - ca_field_type
- ca_element_count
- ca_name
- ca_message
- ca_host_name
- ca_read_access
- ca_write_access
| - field_type(chid)
- element_count(chid)
- name(chid)
- message(status)
- host_name(chid)
- read_access(chid)
- write_access(chid)
| | | |
| Data Type | - dbr_size(dbrtype)
- dbr_size_n(dbrtype, count)
- dbr_value_size(dbrtype)
- dbr_text(dbrtype
- valid_db_request(dbrtype)
- invalid_db_request(dbrtype)
- dbr_type_is_valid(dbrtype)
- dbr_type_is_plain(dbrtype)
- dbr_type_is_STS(dbrtype)
- dbr_type_is_TIME(dbrtype)
- dbr_type_is_GR(dbrtype)
- dbr_type_is_CTRL(dbrtype)
- dbf_text(dbftype)
- dbf_type_to_DBR(dbftype)
- dbf_type_to_DBR_STS(dbftype)
- dbf_type_to_DBR_TIME(dbftype)
- dbf_type_to_DBR_GR(dbftype)
- dbf_type_to_DBR_CTRL(dbftype)
| Same as in CA lib | N/A But Provides pure python modules including datatype definitions. | | |
| Synchronous Group | - ca_sg_create
- ca_sg_delete
- ca_sg_get
- ca_sg_put
- ca_sg_block
- ca_sg_reset
- ca_sg_test
| N/A | - ca_sg_create()
- ca_sg_delete(gid)
- ca_sg_get(chid,gid)
- ca_sg_put(chid,gid,value,req_type)
- ca_sg_block(gid, timeout)
- ca_sg_reset(gid)
- ca_sg_test(gid)
| N/A | N/A |