Also note:
the C# code "ASICameraDll2.cs" refers to the old DLL libs and doesn't work without modification. e.g. "ASICamera2_x64.dll" no longer exists as such.
The CAPS, GET and SET arrays for indexes 8-14 conflict. For example, index 8 CAPS ASI_TEMPERATURE links to "Is hardware bin2:0->No 1->Yes min=0 max=1",
ASI_CONTROL_CAPS controlCaps;
for (int i = 0; i < 50; i++)
{
ASI_CONTROL_TYPE control = (ASI_CONTROL_TYPE)i;
ASIGetControlCaps(CameraID, i, out controlCaps);
Debug.WriteLine("i = " + i + " " + "(ASI_CONTROL_TYPE)i = " + (ASI_CONTROL_TYPE)i + " CAPS " + control + ": " + controlCaps.Description + " min=" + controlCaps.MinValue + " max=" + controlCaps.MaxValue);
}
i = 0 (ASI_CONTROL_TYPE)i = ASI_GAIN CAPS ASI_GAIN: Gain min=0 max=700
i = 1 (ASI_CONTROL_TYPE)i = ASI_EXPOSURE CAPS ASI_EXPOSURE: Exposure Time(us) min=32 max=2000000000
...
i = 8 (ASI_CONTROL_TYPE)i = ASI_TEMPERATURE CAPS ASI_TEMPERATURE: Is hardware bin2:0->No 1->Yes min=0 max=1
i = 9 (ASI_CONTROL_TYPE)i = ASI_FLIP CAPS ASI_FLIP: Is high speed mode:0->No 1->Yes min=0 max=1
i = 10 (ASI_CONTROL_TYPE)i = ASI_AUTO_MAX_GAIN CAPS ASI_AUTO_MAX_GAIN: Sensor temperature(degrees Celsius) min=-500 max=1000
i = 11 (ASI_CONTROL_TYPE)i = ASI_AUTO_MAX_EXP CAPS ASI_AUTO_MAX_EXP: Cooler power percent min=0 max=100
i = 12 (ASI_CONTROL_TYPE)i = ASI_AUTO_MAX_BRIGHTNESS CAPS ASI_AUTO_MAX_BRIGHTNESS: Target temperature(cool camera only) min=-40 max=30
i = 13 (ASI_CONTROL_TYPE)i = ASI_HARDWARE_BIN CAPS ASI_HARDWARE_BIN: turn on/off cooler(cool camera only) min=0 max=1
i = 14 (ASI_CONTROL_TYPE)i = ASI_HIGH_SPEED_MODE CAPS ASI_HIGH_SPEED_MODE: turn on/off anti dew heater(cool camera only) min=0 max=1
...
i = 15 (ASI_CONTROL_TYPE)i = ASI_COOLER_POWER_PERC CAPS ASI_COOLER_POWER_PERC: min=0 max=0
...
i = 23 (ASI_CONTROL_TYPE)i = ASI_ENABLE_DDR CAPS ASI_ENABLE_DDR: min=0 max=0