« Close

Datasheets and User Guides

App Notes

Software & Driver

 

5.3.2 - ControlConfig

Configures various parameters associated with the Control processor. Although this function appears to have many of the same digital I/O and DAC parameters as other functions, most parameters in this case are affecting the power-up values, not the current values.

If WriteMask is nonzero, some or all default values are written to flash. The Control flash has a rated endurance of at least 20000 writes, which is plenty for reasonable operation, but if this function is called in a high-speed loop with a nonzero WriteMask, the flash could be damaged.

There is a hardware method to restore parameters to the default values described below (in parentheses). Power up the UE9 with a short from FIO2<=>SCL, then remove the jumper and power cycle the device again. This also returns Comm (Section 5.2.1) and Watchdog (Section 5.3.13) settings to factory defaults.

Note: If the stream is running, you cannot update any of the values (WriteMask must equal 0).

Table 5.3.2-1. ControlConfig Command/Response

Command:    
Byte    
0 Checksum8  
1 0xF8  
2 0×06  
3 0×08  
4 Checksum16 (LSB)  
5 Checksum16 (MSB)  
6 WriteMask  
    Bit 2: Update DAC defaults
    Bit 1: Update digital defaults
    Bit 0: Update power level default
7 PowerLevel [0]  
    0×00: Fixed high, system clock = 48 MHZ
    0×01: Fixed low, system clock = 6 MHz
8 FIODir  
9 FIOState  
10 EIODir  
11 EIOState  
12 CIODirState  
    Bits 7-4: Direction
    Bits 3-0: State
13 MIODirState  
    Bit 7: Do not load digital I/O defaults
    Bits 6-4: Direction
    Bits 2-0: State
14 DAC0 (LSB)  
15 DAC0  
    Bit 7: Enabled
    Bits 3-0: Upper 4 bits of output
16 DAC1 (LSB)  
17 DAC1  
    Bit 7: Enabled
    Bits 3-0: Upper 4 bits of output
     
     
Response:    
Byte    
0 Checksum8  
1 0xF8  
2 0×09  
3 0×08  
4 Checksum16 (LSB)  
5 Checksum16 (MSB)  
6 Errorcode  
7 PowerLevel  
8 ResetSource  
9-10 ControlFWVersion  
11-12 ControlBLVersion  
13 HiRes Flag (Bit 0)  
14 FIODir  
15 FIOState  
16 EIODir  
17 EIOState  
18 CIODirState  
    Bits 7-4: Direction
    Bits 3-0: State
19 MIODirState  
    Bits 6-4: Direction
    Bits 2-0: State
20 DAC0 (LSB)  
21 DAC0  
    Bit 7: Enabled
    Bits 3-0: Upper 4 bits of output
22 DAC1 (LSB)  
23 DAC1  
    Bit 7: Enabled
    Bits 3-0: Upper 4 bits of output
  • PowerLevel: (0) At this time low speed is not supported. The resulting heating and cooling of the processor causes analog calibration problems. Intended operation: Specifies different system clock speeds for the Control processor. Streaming does not work at fixed low speed. The WriteMask behaves differently for this parameter. The value passed for PowerLevel always becomes the current operating condition. If the WriteMask bit 0 is set, the value passed becomes the current value and the default value, meaning it is written to flash and used at reset. The return value of this parameter is a read of the power-up default.
  • FIO/EIO/CIO/MIO: (0) If the WriteMask bit 1 is set, the values passed become the default values, meaning they are written to flash and used at reset. Regardless of the mask bit, this function has no effect on the current settings. These defaults are only used if bit 8 of MIODirState is clear. The return value of this parameter is a read of the power-up defaults.
  • DAC#: (0) If the WriteMask bit 2 is set, the values passed become the default values, meaning they are written to flash and used at reset. Regardless of the mask bit, this function has no effect on the current settings. The return value of this parameter is a read of the power-up defaults.
  • ControlFWVersion: Fixed parameter specifies the version number of the Control firmware. A firmware upgrade will generally cause this parameter to change.

3 comments

Hi,

I anticipate using this function as an initialization stage for a 'main()' loop in Python code, so it should only get set once at the startup of the code, and then I anticipate using the feedback() function for ongoing data acquisition activity. Does this make sense in terms of your usage recommendation?

Thanks 

Sounds like you are on the right track. Until you get into advanced features one configuration at the start of your program is a great way to keep things organized.

Thanks!