Changeset 6928
- Timestamp:
- Apr 20, 2006, 12:19:08 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/astrom/pmConcepts.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/astrom/pmConcepts.c
r6895 r6928 113 113 pmChip *chip, // The chip 114 114 pmCell *cell, // The cell 115 unsigned int *read, // What's already been read 115 116 pmConceptSource source, // The source of the concepts to read 116 117 psDB *db, // Database handle … … 122 123 } 123 124 124 if (source & PM_CONCEPT_SOURCE_CAMERA || source == PM_CONCEPT_SOURCE_ALL) {125 if (source & PM_CONCEPT_SOURCE_CAMERA && !(*read & PM_CONCEPT_SOURCE_CAMERA)) { 125 126 pmConceptsReadFromCamera(*specs, cell, target); 126 } 127 if (source & PM_CONCEPT_SOURCE_DEFAULTS || source == PM_CONCEPT_SOURCE_ALL) { 127 *read |= PM_CONCEPT_SOURCE_CAMERA; 128 } 129 130 if (source & PM_CONCEPT_SOURCE_DEFAULTS && !(*read & PM_CONCEPT_SOURCE_DEFAULTS)) { 128 131 pmConceptsReadFromDefaults(*specs, fpa, chip, cell, target); 129 } 130 if (source & PM_CONCEPT_SOURCE_HEADER || source == PM_CONCEPT_SOURCE_ALL) { 132 *read |= PM_CONCEPT_SOURCE_DEFAULTS; 133 } 134 135 if (source & PM_CONCEPT_SOURCE_HEADER && !(*read & PM_CONCEPT_SOURCE_HEADER)) { 131 136 pmConceptsReadFromHeader(*specs, fpa, chip, cell, target); 132 } 133 if (source & PM_CONCEPT_SOURCE_DATABASE || source == PM_CONCEPT_SOURCE_ALL) { 137 *read |= PM_CONCEPT_SOURCE_HEADER; 138 } 139 140 if (source & PM_CONCEPT_SOURCE_DATABASE && !(*read & PM_CONCEPT_SOURCE_DATABASE)) { 134 141 pmConceptsReadFromDatabase(*specs, fpa, chip, cell, db, target); 142 *read |= PM_CONCEPT_SOURCE_DATABASE; 135 143 } 136 144 … … 152 160 } 153 161 154 if (source & PM_CONCEPT_SOURCE_CAMERA || source == PM_CONCEPT_SOURCE_ALL) {162 if (source & PM_CONCEPT_SOURCE_CAMERA) { 155 163 pmConceptsWriteToCamera(*specs, cell, concepts); 156 164 } 157 if (source & PM_CONCEPT_SOURCE_DEFAULTS || source == PM_CONCEPT_SOURCE_ALL) {165 if (source & PM_CONCEPT_SOURCE_DEFAULTS) { 158 166 pmConceptsWriteToDefaults(*specs, fpa, chip, cell, concepts); 159 167 } 160 if (source & PM_CONCEPT_SOURCE_HEADER || source == PM_CONCEPT_SOURCE_ALL) {168 if (source & PM_CONCEPT_SOURCE_HEADER) { 161 169 pmConceptsWriteToHeader(*specs, fpa, chip, cell, concepts); 162 170 } 163 if (source & PM_CONCEPT_SOURCE_DATABASE || source == PM_CONCEPT_SOURCE_ALL) {171 if (source & PM_CONCEPT_SOURCE_DATABASE) { 164 172 pmConceptsWriteToDatabase(*specs, fpa, chip, cell, db, concepts); 165 173 } … … 184 192 { 185 193 psTrace("psModule.concepts", 5, "Reading FPA concepts: %x %x\n", conceptsFPA, fpa->concepts); 186 return conceptsRead(&conceptsFPA, fpa, NULL, NULL, source, db, fpa->concepts);194 return conceptsRead(&conceptsFPA, fpa, NULL, NULL, &fpa->conceptsRead, source, db, fpa->concepts); 187 195 } 188 196 … … 214 222 psTrace("psModule.concepts", 5, "Reading chip concepts: %x %x\n", conceptsChip, chip->concepts); 215 223 pmFPA *fpa = chip->parent; // FPA to which the chip belongs 216 return conceptsRead(&conceptsChip, fpa, chip, NULL, source, db, chip->concepts) && 217 ((propagate && conceptsRead(&conceptsFPA, fpa, chip, NULL, source, db, fpa->concepts)) || 224 return conceptsRead(&conceptsChip, fpa, chip, NULL, &chip->conceptsRead, source, db, chip->concepts) && 225 ((propagate && conceptsRead(&conceptsFPA, fpa, chip, NULL, &fpa->conceptsRead, source, db, 226 fpa->concepts)) || 218 227 !propagate); 219 228 } … … 251 260 pmChip *chip = cell->parent; // Chip to which the cell belongs 252 261 pmFPA *fpa = chip->parent; // FPA to which the chip belongs 253 return conceptsRead(&conceptsCell, fpa, chip, cell, source, db, cell->concepts) && 254 ((propagate && conceptsRead(&conceptsChip, fpa, chip, cell, source, db, chip->concepts) && 255 conceptsRead(&conceptsFPA, fpa, chip, cell, source, db, fpa->concepts)) || !propagate); 262 return conceptsRead(&conceptsCell, fpa, chip, cell, &cell->conceptsRead, source, db, cell->concepts) && 263 ((propagate && conceptsRead(&conceptsChip, fpa, chip, cell, &chip->conceptsRead, source, db, 264 chip->concepts) && 265 conceptsRead(&conceptsFPA, fpa, chip, cell, &fpa->conceptsRead, source, db, fpa->concepts)) || 266 !propagate); 256 267 } 257 268 … … 274 285 bool pmConceptsInit(void) 275 286 { 287 conceptsInitialised = true; 288 276 289 bool init = false; // Did we initialise anything? 277 290 if (! conceptsFPA) { … … 505 518 } 506 519 507 conceptsInitialised = true;508 509 520 return init; 510 521 }
Note:
See TracChangeset
for help on using the changeset viewer.
