Changeset 20639
- Timestamp:
- Nov 10, 2008, 2:04:47 PM (17 years ago)
- Location:
- trunk/psModules/src
- Files:
-
- 3 edited
-
camera/pmFPAfileIO.c (modified) (3 diffs)
-
config/pmConfig.c (modified) (7 diffs)
-
config/pmConfig.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/camera/pmFPAfileIO.c
r20400 r20639 783 783 psMetadata *camera = NULL; 784 784 psString formatName = NULL; 785 file->format = pmConfigCameraFormatFromHeader (&camera, &formatName, config, phu, true); 785 psString cameraName = NULL; 786 file->format = pmConfigCameraFormatFromHeader (&camera, &cameraName, &formatName, config, phu, true); 786 787 if (!file->format) { 787 788 psError(PS_ERR_IO, false, "Failed to read CCD format from %s\n", file->filename); … … 800 801 psFree(camera); 801 802 psFree(formatName); 803 psFree(cameraName); 802 804 803 805 // XXX this is really dangerous... … … 894 896 if (!file->format) { 895 897 // determine the format (camera is already known); do not load the recipe 896 file->format = pmConfigCameraFormatFromHeader (NULL, &file->formatName, config, phu, false);898 file->format = pmConfigCameraFormatFromHeader (NULL, NULL, &file->formatName, config, phu, false); 897 899 if (!file->format) { 898 900 psError(PS_ERR_IO, false, "Failed to read CCD format from %s\n", file->filename); -
trunk/psModules/src/config/pmConfig.c
r20552 r20639 1081 1081 // camera. If we are discovering the camera (config->camera == NULL), then we also load the 1082 1082 // recipe files for the camera. 1083 psMetadata *pmConfigCameraFormatFromHeader(psMetadata **camera, psString * formatName, pmConfig *config,1084 const psMetadata *header, bool readRecipes)1083 psMetadata *pmConfigCameraFormatFromHeader(psMetadata **camera, psString *cameraName, psString *formatName, 1084 pmConfig *config, const psMetadata *header, bool readRecipes) 1085 1085 { 1086 1086 PS_ASSERT_PTR_NON_NULL(config, NULL); … … 1089 1089 bool status = false; // error status 1090 1090 psMetadata *format = NULL; // The winning format 1091 psString name = NULL;// Name of the winning format1091 psString testFormatName = NULL; // Name of the winning format 1092 1092 1093 1093 // If we don't know what sort of camera we have, we try all that we know … … 1118 1118 assert(camerasItem->type == PS_DATA_METADATA); // It should be because we've read it in or deleted 1119 1119 psMetadata *testCamera = camerasItem->data.md; // Camera to test against what we've got: 1120 if (formatFromHeader(&status, &format, & name, testCamera, header, camerasItem->name)) {1120 if (formatFromHeader(&status, &format, &testFormatName, testCamera, header, camerasItem->name)) { 1121 1121 config->camera = psMemIncrRefCounter(testCamera); 1122 1122 config->cameraName = psStringCopy(camerasItem->name); 1123 config->formatName = name;1123 config->formatName = testFormatName; 1124 1124 config->format = format; 1125 1125 if (camera) { … … 1127 1127 } 1128 1128 if (formatName) { 1129 *formatName = psMemIncrRefCounter(name); // view on value saved on config 1129 *formatName = psMemIncrRefCounter(testFormatName); // view on value saved on config 1130 } 1131 if (cameraName) { 1132 *cameraName = psMemIncrRefCounter(config->cameraName); // view on value saved on config 1130 1133 } 1131 1134 } else { … … 1166 1169 1167 1170 psMetadata *testCamera = NULL; 1168 char *test Name = NULL;1171 char *testCameraName = NULL; 1169 1172 1170 1173 psMetadata *cameras = psMetadataLookupMetadata (NULL, config->system, "CAMERAS"); … … 1173 1176 // try the FPA metaCamera 1174 1177 if (!found) { 1175 test Name = NULL;1176 psStringAppend (&test Name, "_%s-FPA", baseName);1177 1178 testCamera = psMetadataLookupMetadata (NULL, cameras, test Name);1179 psAssert (testCamera, "missing %s in CAMERAS in complete metadata", test Name);1178 testCameraName = NULL; 1179 psStringAppend (&testCameraName, "_%s-FPA", baseName); 1180 1181 testCamera = psMetadataLookupMetadata (NULL, cameras, testCameraName); 1182 psAssert (testCamera, "missing %s in CAMERAS in complete metadata", testCameraName); 1180 1183 1181 1184 bool status; 1182 found = formatFromHeader(&status, &format, & name, testCamera, header, testName);1183 if (!found) psFree (test Name);1185 found = formatFromHeader(&status, &format, &testFormatName, testCamera, header, testCameraName); 1186 if (!found) psFree (testCameraName); 1184 1187 } 1185 1188 1186 1189 // try the CHIP metaCamera 1187 1190 if (!found) { 1188 test Name = NULL;1189 psStringAppend (&test Name, "_%s-CHIP", baseName);1190 1191 testCamera = psMetadataLookupMetadata (NULL, cameras, test Name);1192 psAssert (testCamera, "missing %s in CAMERAS in complete metadata", test Name);1191 testCameraName = NULL; 1192 psStringAppend (&testCameraName, "_%s-CHIP", baseName); 1193 1194 testCamera = psMetadataLookupMetadata (NULL, cameras, testCameraName); 1195 psAssert (testCamera, "missing %s in CAMERAS in complete metadata", testCameraName); 1193 1196 1194 1197 bool status; 1195 found = formatFromHeader(&status, &format, & name, testCamera, header, testName);1196 if (!found) psFree (test Name);1198 found = formatFromHeader(&status, &format, &testFormatName, testCamera, header, testCameraName); 1199 if (!found) psFree (testCameraName); 1197 1200 } 1198 1201 1199 1202 // try the SKYCELL metaCamera 1200 1203 if (!found) { 1201 test Name = NULL;1202 psStringAppend (&test Name, "_%s-SKYCELL", baseName);1203 1204 testCamera = psMetadataLookupMetadata (NULL, cameras, test Name);1205 psAssert (testCamera, "missing %s in CAMERAS in complete metadata", test Name);1204 testCameraName = NULL; 1205 psStringAppend (&testCameraName, "_%s-SKYCELL", baseName); 1206 1207 testCamera = psMetadataLookupMetadata (NULL, cameras, testCameraName); 1208 psAssert (testCamera, "missing %s in CAMERAS in complete metadata", testCameraName); 1206 1209 1207 1210 bool status; 1208 found = formatFromHeader(&status, &format, & name, testCamera, header, testName);1209 if (!found) psFree (test Name);1211 found = formatFromHeader(&status, &format, &testFormatName, testCamera, header, testCameraName); 1212 if (!found) psFree (testCameraName); 1210 1213 } 1211 1214 1212 1215 // try the base name 1213 1216 if (!found) { 1214 test Name = psMemIncrRefCounter (baseName);1215 1216 testCamera = psMetadataLookupMetadata (NULL, cameras, test Name);1217 psAssert (testCamera, "missing %s in CAMERAS in complete metadata", test Name);1217 testCameraName = psMemIncrRefCounter (baseName); 1218 1219 testCamera = psMetadataLookupMetadata (NULL, cameras, testCameraName); 1220 psAssert (testCamera, "missing %s in CAMERAS in complete metadata", testCameraName); 1218 1221 1219 1222 bool status; 1220 found = formatFromHeader(&status, &format, & name, testCamera, header, testName);1223 found = formatFromHeader(&status, &format, &testFormatName, testCamera, header, testCameraName); 1221 1224 } 1222 1225 … … 1228 1231 } 1229 1232 1230 psFree (name); // winning format name (for metaCamera) returned by formatFromHeader1231 1232 1233 psFree (baseName); 1233 1234 if (formatName) { 1234 *formatName = test Name;1235 *formatName = testFormatName; 1235 1236 } else { 1236 psFree (testName); 1237 } 1237 psFree (testFormatName); 1238 } 1239 if (cameraName) { 1240 *cameraName = testCameraName; 1241 } else { 1242 psFree (testCameraName); 1243 } 1244 1238 1245 if (camera) { 1239 1246 *camera = psMemIncrRefCounter(testCamera); -
trunk/psModules/src/config/pmConfig.h
r18926 r20639 5 5 * @author Eugene Magnier, IfA 6 6 * 7 * @version $Revision: 1.4 1$ $Name: not supported by cvs2svn $8 * @date $Date: 2008- 08-06 01:13:14$7 * @version $Revision: 1.42 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2008-11-11 00:04:47 $ 9 9 * Copyright 2005-2006 Institute for Astronomy, University of Hawaii 10 10 */ … … 117 117 psMetadata *pmConfigCameraFormatFromHeader(psMetadata **camera, // selected camera (or meta-camera) 118 118 psString *formatName, // selected format name 119 psString *cameraName, // selected camera name 119 120 pmConfig *config, ///< The configuration 120 121 const psMetadata *header, ///< The FITS header
Note:
See TracChangeset
for help on using the changeset viewer.
