How to prepare scanners by sending configuration parameters. |
Even though the scanner head will retain configuration information in its non-volatile memory, it is recommended best practice to send the configuration every time you connect. |
The configuration parameters are stored in a simple text format that is documented in the Parameter Reference.
using System; using System.IO; using System.Net; using JoeScan.JCamNet; namespace Examples { class Program { static void Main(string[] args) { IPAddress baseIpAddress = new IPAddress(new byte[] { 192, 168, 1, 150 }); // the scanner we want to configure Scanner scanner = Scanner.Connect(baseIpAddress, 0); TextReader parametersReader; // Make sure your application can find the parameters file. In Visual Studio, // you can add the file to your project, and use the "Copy to Output Directory" property, // forcing Visual Studio to copy the file to your output directory every time you build. using (parametersReader = File.OpenText("param.dat")) { // the parameters are passed as one long string string parametersString = parametersReader.ReadToEnd(); try { // send the configuration parameters, and tell the head to store it permanently scanner.SetParameters(parametersString, true); Console.WriteLine("Scanner {0}:{1} was successfully configured!", scanner.IPAddress.ToString(), scanner.CableID); } catch (Exception e) { Console.WriteLine("Scanner {0}:{1} did not accept configuration parameters!", scanner.IPAddress.ToString(), scanner.CableID); } } } } } |
The parameters are passed as a simple string, containing the entire file at once. Depending on your application, you can provide this string any way you'd like (e.g., retrieve it from a database, read it from a file, or build it 'on the fly').
Be aware that some text editors change the encoding of the file and store it as 'UTF-8', in which case the SetParameters() function may fail. |