137 lines
4.5 KiB
Plaintext
137 lines
4.5 KiB
Plaintext
#
|
|
# Author: Jim Kowalkowski
|
|
# Date: 2/96
|
|
#
|
|
# $Id$
|
|
#
|
|
# $Log$
|
|
# Revision 1.1 1996/06/25 19:11:27 jbk
|
|
# new in EPICS base
|
|
#
|
|
# Revision 1.4 1996/06/25 18:58:57 jbk
|
|
# more fixes for the aitString management functions and mapping menus
|
|
#
|
|
# Revision 1.3 1996/06/24 03:15:27 jbk
|
|
# name changes and fixes for aitString and fixed string functions
|
|
#
|
|
# Revision 1.2 1996/06/13 21:31:51 jbk
|
|
# Various fixes and correction - including ref_cnt change to unsigned short
|
|
#
|
|
# Revision 1.1 1996/05/31 13:15:16 jbk
|
|
# add new stuff
|
|
#
|
|
#
|
|
|
|
Some Notes:
|
|
|
|
******
|
|
The following function described in gddAppTable.h and defined in gddAppDefs.cc:
|
|
|
|
gddApplicationTypeTable* gddGenerateApplicationTypeTable(void);
|
|
|
|
is designed to be called in an application to create the type table
|
|
with a default set of attributes already registered. The current mechanism
|
|
for generating the default registered attributes is the C++ code in
|
|
gddAppDefs.cc. See this file for a list of registered attributes.
|
|
|
|
Creating am application type table using new will perform the same function.
|
|
|
|
******
|
|
The gddCleanUp object will automatically clean up the free list storage
|
|
when it is destructed. There should only be one of these in an application.
|
|
It is not required.
|
|
|
|
******
|
|
To build for vxWorks, define an environment variable "VX_BUILD=vw" and type
|
|
make. It will build for the HOST_ARCH architecture and then vxWorks.
|
|
|
|
You must have gcc/g++ 2.5.8 or later available to cross compile to 68k object
|
|
code and vxWorks. You can get the gcc 2.5.8 package from the HiDEOS home
|
|
page along with instructions on building it.
|
|
|
|
The vxldscript.MRI file instructs the gnu loader on how to propare
|
|
object files to load under vxWorks.
|
|
|
|
You must use the ldpp program under vxWorks shell to load g++ generated
|
|
object modules. The ldpp program is available in the EPICS base package.
|
|
Contact me if you want a copy of it.
|
|
|
|
It is really not difficult to get g++ object files to load under vxWorks
|
|
or to get the g++ compiled installed and running. The makefile is set up
|
|
to handle builds for vxWorks.
|
|
|
|
******
|
|
aitTypes.h: Definitions of the architecture independant types.
|
|
aitTypes.c: definitions of several lookup tables
|
|
aitConvert.h: conversion table description,byte ordering routines
|
|
aitConvert.c: conversion information not generated
|
|
aitGen.c: creates the general conversion functions
|
|
aitConvertGenerated.c: file of generated conversion functions
|
|
|
|
dbMapper.cc: mappings from DBR types to ait types and GDDs
|
|
dbMapper.h: mappings from DBR types to ait types and GDDs
|
|
|
|
gddApps.h:
|
|
This file contains "#define" statements for quick indexing into
|
|
managed containers. Generated by program genApps.cc.
|
|
|
|
*******
|
|
Still needed:
|
|
|
|
1) AppTable method to map application type to offset (index) into a
|
|
managed container.
|
|
* mostly complete
|
|
|
|
2) Function to map DBRxxxx types to Application types and back.
|
|
* still working on mapping method
|
|
|
|
3) Methods for managing network byte order conversions in gdd class.
|
|
|
|
4) Method to extract data (and bounds information) from a gdd into a
|
|
user's buffer.
|
|
|
|
6) #defines to remove extra checks and make the programs run faster.
|
|
|
|
************ 6/13/96 *************
|
|
|
|
ref_cnt should be an unsigned short instead of char
|
|
|
|
menus need to be fixed - use aitFixedString or aitString
|
|
|
|
get/operator=() should be smarter, do conversion if types do not match
|
|
|
|
************ 6/20/96 **************
|
|
|
|
fix the flatten functions so they work properly with aitString and fixed
|
|
string
|
|
|
|
fix the aitString class, add the install string method and change others
|
|
|
|
*********** 6/21/96 ************
|
|
|
|
fixe the aitString::compact function, and all other stuff that works with
|
|
string info so that if the string that the aitString is holding is NULL,
|
|
then the system will act correctly. The flatten functions have trouble
|
|
with this when the described string is NULL.
|
|
|
|
*********** 6/24/96 *************
|
|
|
|
still need to fix the transfer of aitString data into a pre-made gdd.
|
|
If only array of 5 aitString is placed into a pre-made array of 16,
|
|
then the last 11 should be initialized to NULLs or something, same for
|
|
fixed string - especially the fixed string
|
|
|
|
************** 6/26/96 ************
|
|
|
|
aitString:copy() still has troubles. Need to correct the
|
|
aitConvertStringFloat64() and others. How are they supposed to work?
|
|
Should they be calling aitString::installString() instead of copy()? Yes,
|
|
that is the answer. In the convert functions, the temp variable
|
|
used to hold a value (character value) is always a stack variable and
|
|
needs to be copied. Maybe the temp char variable should be copied over
|
|
the existing string if it will fit. No.
|
|
|
|
Jim
|
|
|
|
|