Index: trunk/psModules/src/camera/pmFPAfileIO.c
===================================================================
--- trunk/psModules/src/camera/pmFPAfileIO.c	(revision 41535)
+++ trunk/psModules/src/camera/pmFPAfileIO.c	(revision 41892)
@@ -145,4 +145,25 @@
 }
 
+// list all defined pmFPAfiles
+bool pmFPAfileIOList (pmConfig *config)
+{
+    PS_ASSERT_PTR_NON_NULL(config, false);
+    PS_ASSERT_PTR_NON_NULL(config->files, false);
+
+    psMetadata *files = config->files;
+
+    // attempt to perform all create, read, write, close operations
+    psMetadataItem *item = NULL;
+    psMetadataIterator *iter = psMetadataIteratorAlloc (files, PS_LIST_HEAD, NULL);
+    while ((item = psMetadataGetAndIncrement (iter)) != NULL) {
+        pmFPAfile *file = item->data.V;
+	
+	fprintf (stderr, "%s : %d %d %d : %d %d %d %d\n", file->name, file->type, file->mode, file->state,
+		 file->fileLevel, file->dataLevel, file->freeLevel, file->mosaicLevel);
+    }
+    psFree (iter);
+    return true;
+}
+
 // read the file, if necessary and possible
 bool pmFPAfileRead(pmFPAfile *file, const pmFPAview *view, pmConfig *config)
@@ -231,4 +252,7 @@
       case PM_FPA_FILE_PATTERN:
         status = pmPatternRead(view, file, config);
+        break;
+      case PM_FPA_FILE_PATTERN_ROW_AMP:
+        status = pmPatternRowAmpRead(view, file, config);
         break;
       case PM_FPA_FILE_SX:
@@ -342,4 +366,5 @@
       case PM_FPA_FILE_ASTROM_REFSTARS:
       case PM_FPA_FILE_KH_CORRECT:
+      case PM_FPA_FILE_PATTERN_ROW_AMP:
       case PM_FPA_FILE_JPEG:
       case PM_FPA_FILE_KAPA:
@@ -359,5 +384,5 @@
 
     if (file->state & PM_FPA_STATE_INACTIVE) {
-        psTrace("psModules.camera", 6, "skip write for %s, files is inactive", file->name);
+        psTrace("psModules.camera", 6, "skip write for %s, file is inactive", file->name);
         return true;
     }
@@ -430,4 +455,8 @@
       return true;
     }
+    if (file->type == PM_FPA_FILE_PATTERN_ROW_AMP) {
+      psTrace("psModules.camera", 6, "skip write for %s, no write function defined", file->name);
+      return true;
+    }
 
     // open the file if not yet opened
@@ -526,4 +555,8 @@
       case PM_FPA_FILE_KH_CORRECT:
         psError(PS_ERR_IO, true, "cannot write type KH.CORRECT (%s)", file->name);
+        break;
+
+      case PM_FPA_FILE_PATTERN_ROW_AMP:
+        psError(PS_ERR_IO, true, "cannot write type PATTERN.ROW.AMP (%s)", file->name);
         break;
 
@@ -603,4 +636,5 @@
       case PM_FPA_FILE_ASTROM_REFSTARS:
       case PM_FPA_FILE_KH_CORRECT:
+      case PM_FPA_FILE_PATTERN_ROW_AMP:
       case PM_FPA_FILE_LINEARITY:
       case PM_FPA_FILE_EXPNUM:
@@ -681,4 +715,5 @@
       case PM_FPA_FILE_ASTROM_REFSTARS:
       case PM_FPA_FILE_KH_CORRECT:
+      case PM_FPA_FILE_PATTERN_ROW_AMP:
       case PM_FPA_FILE_EXPNUM:
         psTrace ("psModules.camera", 6, "NOT freeing %s (%s) : save for further analysis\n", file->filename, file->name);
@@ -844,4 +879,5 @@
       case PM_FPA_FILE_ASTROM_REFSTARS:
       case PM_FPA_FILE_KH_CORRECT:
+      case PM_FPA_FILE_PATTERN_ROW_AMP:
       case PM_FPA_FILE_LINEARITY:
       case PM_FPA_FILE_EXPNUM:
@@ -1048,4 +1084,5 @@
       case PM_FPA_FILE_ASTROM_MODEL:
       case PM_FPA_FILE_KH_CORRECT:
+      case PM_FPA_FILE_PATTERN_ROW_AMP:
       case PM_FPA_FILE_SX:
       case PM_FPA_FILE_RAW:
