I have a CR295 logger that I just updated to OSv10G from OS7,I was having problems with getting data to go to the buffer so I tried updating the OS. However, I now cannot load the program onto the CR295 as I get error:
"Program file send failed:
the datalogger failed to compile the program"
"C:\Campbellsci\DevConfig\sys\cora\logger\GoesSat_6.CR2 -- Compile Failed!
Table Sonde must use DataInterval to auto-allocate."
The complier for OS 10 is showing up in my Campbell directory on my c drive. I only have a CR2 file, no bin file. Is there a way to generate a bin file?
It is likely a simple issue, but I am not overly familiar with the programming. I have attached my program that I am trying to load just in case it is an issue with that.
'--------------------------------------------
' Modem Parameters
'--------------------------------------------
'Public bModemOn, bInternalOn
'=====================================
'Define Data Tables
DataTable(SysInternals,True,120) 'Internal Parameters table
DataInterval(0,1,hr) 'Every B_Sample_Intv Minutes, no Offset
Minimum(1,P_Batt,False,False)
EndTable
'DataTable(SysInternalsAll,True,-1) 'Internal Parameters table
' DataInterval(0,1,hr) 'Every B_Sample_Intv Minutes, no Offset
' Minimum(1,P_Batt,False,False)
' 'Average(1, P_RH,False)
'EndTable
DataTable(Sonde,True,-1)
' DataInterval(0,15,Min)
Sample(1,rt_month)
Sample(1,rt_DOM)
Sample(1,rt_year)
Sample(1,rt_hour)
Sample(1,rt_minute)
'Sample(1,rt_second) second always zero.. no need
Sample((paramNum-2),sndParms(3))
EndTable
DataTable(SondeRaw,True,1000)
Sample(paramNum,sndParms)
'FieldNames ("Date,Time,Cond_uS,Depth_Ft,pH,Turb+,ODO_mgL,Bat_V")
EndTable
DataTable(GoesErr,true,100)
Sample(1,GoesResult)
Sample(10,SatError)
EndTable
'DataTable(GoesTimeStamp,true,45)
' Sample(4,SatTime)
' 'Sample()
'EndTable
'=======================================================================
' PROGRAM BEGIN - Main Program
'=======================================================================
BeginProg
'bInternalOn = 0
_Debug = 1
' SWBatt (1)
' bModemOn = True
Scan(5,Sec)
'=======================================================================
'MODEM POWER - begin
'=======================================================================
If Flag(2) Then
If Flag(3) Then
GOESSetup (GOESResult,&H270005B4,10 ,38,300,0,100,"0_1_0_0" ,"0_30_30" ,"1_0_0" )
EndIf 'Flag(3)
' Modem (toggle) -----------
' Toggle power off 3 mins before midnight , turn on 1 min before midnight
' If (NOT(bModemOn)) Then
'
' If IfTime(modemOnOffSetMin,modemOnIntvlMin,min) OR Flag(modemFlag) Then
' flag(modemFlag) = false
' SWBatt (1)
' bModemOn = True
' EndIf
' Else
' 'Modem On
' If IfTime(modemOffSetMin,modemOnIntvlMin,min) Then
' SWBatt (0)
' bModemOn = False
' EndIf
' EndIf 'Not modem o
'
'=======================================================================
'MODEM POWER - end
'=======================================================================
Else 'flag(2) low
' 2) YSI Sonde -----------------
If bGetYSI = false Then
If (IfTime(SondeOffsetMin, SondeIntvlMin, Min) OR Flag(1) ) Then
bGetYSI = True
sndParms(1) = -7999 'set as invalid value
Flag(1) = False
EndIf
EndIf
'CR200 can does NOT understand string type variables, can not change SDI12 OutputSting dynamically, therefore can NOT
' modify the C! or C command as per CR1000 based loggers
If (bGetYSI) Then
SDI12Recorder(sndParms,"0C!",1,0) 'SDI12 Address & Command
If (sndParms(1) >= -10) Then
RealTime( rTime ,0) 'Get Logger's time
' fix time to NOT overange
CallTable(SondeRaw)
'save to trasmitter
CallTable(Sonde)
GOESData (GOESResult,Sonde,0,0,1) ' 1 -send most recent record
If _Debug OR Flag(7) Then
GOESStatus(SatError,GCmnd_ReadError)
CallTable (GoesErr)
'Flag(7) = false
EndIf
'Does not need fix. Latest OS fixed sdi12 bug.
'SDI12Recorder (sndParms, "0I!",1,0) 'interrupt next Cuncurrent command (CampbellSci Sdi12 bug/feature?)
bGetYSI = False
EndIf
EndIf
'3) Goes Sat -------------------
' If IfTime (0,1,Day) OR Flag(8)
' GOESStatus (SatTime,GCmnd_ReadTime)
' CallTable(GoesTimeStamp)
' Flag(8) = false
' EndIf
' 4) Internal Sensors -----------------
Battery(P_Batt) 'Default Datalogger Battery Voltage measurement P_Batt:
' If bHasRH Then
' VoltSe (P_RH,1,RhChannel,0.1,0)
' CallTable SysInternalsAll()
' Else
CallTable SysInternals()
' EndIf
EndIf 'Flag(2)
NextScan
EndProg
You commented out the interval instruction on your table named Sonde, yet have the table size set to autoallocate. Either put back in the DataInterval for that table or set the size to a fixed positive number. Then the error should go away.