<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alkit.se/wice295/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Max.h.petersson</id>
	<title>WICE Wiki v2.95 - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alkit.se/wice295/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Max.h.petersson"/>
	<link rel="alternate" type="text/html" href="https://wiki.alkit.se/wice295/index.php/Special:Contributions/Max.h.petersson"/>
	<updated>2026-04-05T18:07:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.alkit.se/wice295/index.php?title=WICE_RP_How-To&amp;diff=1858</id>
		<title>WICE RP How-To</title>
		<link rel="alternate" type="text/html" href="https://wiki.alkit.se/wice295/index.php?title=WICE_RP_How-To&amp;diff=1858"/>
		<updated>2019-11-08T10:03:22Z</updated>

		<summary type="html">&lt;p&gt;Max.h.petersson: /* Rapid Prototyping using Node.js */ added log file handling.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Getting Started with WICE Rapid Prototyping = &lt;br /&gt;
To get started developing an RP component to be run on a WICE WCU you need the following:&lt;br /&gt;
* A toolchain for building executable programs on the target WCU platform&lt;br /&gt;
* A set of libraries providing APIs to the WCU hardware platform resources (e.g. CAN, diagnostics, logging, etc)&lt;br /&gt;
* WICE Portal access to configure the RP module for one or more WCUs&lt;br /&gt;
&lt;br /&gt;
== Software Development Toolchain ==&lt;br /&gt;
The development toolchain is typically installed on a desktop Linux system and then executables are built by cross-compilation.&lt;br /&gt;
The following WCU platform architectures are supported:&lt;br /&gt;
* Host Mobility MX-4: ARM Cortex A9 or Cortex A5 processor, 32 bit&lt;br /&gt;
* Fältcom Committo: ARM 926EJ-S processor, 32 bit &lt;br /&gt;
* Actia Platform: MIPS processor, 32 bit&lt;br /&gt;
&lt;br /&gt;
All toolchains are gcc-based.&lt;br /&gt;
The MX-4 toolchain is availble here: http://releases.linaro.org/13.09/components/toolchain/gcc-linaro/4.7&lt;br /&gt;
&lt;br /&gt;
== WICE RP development API libraries ==&lt;br /&gt;
The following libraries are available:&lt;br /&gt;
* Canwrapper CAN library&lt;br /&gt;
* Debug logging library&lt;br /&gt;
* Timers and utilities library&lt;br /&gt;
* Tactalib Diagnostics library&lt;br /&gt;
* OBD II library&lt;br /&gt;
&lt;br /&gt;
The development libraries are available here: http://www.alkit.se/rp/libs/&lt;br /&gt;
&lt;br /&gt;
= Building and executing the RP program =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The binary file resulting from compiling the program for the target WCU platform is transferred to one or more in-vehicle WCUs using the WICE Portal. The binary will be executed&lt;br /&gt;
when the WCU boots, and will be terminated when the WCU shuts down.&lt;br /&gt;
&lt;br /&gt;
When executed, an number of command line arguments are given to the RP binary, as follows:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
-vin &amp;lt;VIN number&amp;gt; -settings &amp;lt;filename&amp;gt; -logfile &amp;lt;filename&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;-vin&amp;lt;/code&amp;gt; parameter supplies the Vehicle Identification Number of the vehicle the WCU is installed in.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;-settings&amp;lt;/code&amp;gt; parameter supplies the path to a configuration file the user can supply through the WICE portal.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;-logfile&amp;lt;/code&amp;gt; parameter supplies the path to a debug log file which will be uploaded to WICE portal when the RP module exits.&lt;br /&gt;
&lt;br /&gt;
To get access to the information supplied on the command line at star-upt, the RP program must parse the command line.&lt;br /&gt;
&lt;br /&gt;
= A simple example RP program =&lt;br /&gt;
The example code &amp;lt;code&amp;gt;rpex.c&amp;lt;/code&amp;gt; illustrates how to write a small program that can be executed as an RP module on the WICE in-vehicle WCU platform. &lt;br /&gt;
&lt;br /&gt;
The example shows how to read a configuration file supplied on the command line, to write a CAN diagnostic request on a CAN bus and read a diagnostic reply, and to log data to a log file that will be uploaded to the WICE Portal.&lt;br /&gt;
&lt;br /&gt;
The full source code of rpex is available [http://www.alkit.se/rp/example here].&lt;br /&gt;
&lt;br /&gt;
The first thing the example program does is to parse the command line parameters:&lt;br /&gt;
 &amp;lt;code&amp;gt;ret = parse_options(argc, argv);&lt;br /&gt;
  if (ret != 1) {&lt;br /&gt;
    return EXIT_FAILURE;&lt;br /&gt;
  }&amp;lt;/code&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;parse_options&amp;lt;/code&amp;gt; function sets the variables &amp;lt;code&amp;gt;settings_filename&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;log_filename&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;vin&amp;lt;/code&amp;gt; to the strings supplied on the command line.&lt;br /&gt;
&lt;br /&gt;
Next, debug output is enabled, and the output filename is set to &amp;lt;code&amp;gt;log_filename&amp;lt;/code&amp;gt;, as specified on the command line. This ensures that the log file will be uploaded to the WICE Portal when rpex exits.&lt;br /&gt;
The &amp;lt;code&amp;gt;debug_enable&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;debug_msg&amp;lt;/code&amp;gt; functions are defined in the &amp;lt;code&amp;gt;alkit-debug&amp;lt;/code&amp;gt; development library.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;if (log_filename != NULL ) {&lt;br /&gt;
    debug_enable(log_filename);&lt;br /&gt;
 }&lt;br /&gt;
 debug_msg(1, &amp;quot;rpex version is %s\n&amp;quot;, RPEX_VERSION_STRING);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, after some more log output, the settings file is read:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt; if(settings_filename)&lt;br /&gt;
    read_settings(settings_filename);&amp;lt;/code&amp;gt;&lt;br /&gt;
The settings file is the main way (except for the command line parameters) to provide input to the RP program. It can contain any type of input data needed by the program. In the example, rpex only reads text from the settings file and prints it to the output logfile.&lt;br /&gt;
&lt;br /&gt;
The program is now ready to do its main work,in this case to send a diagnostic request on a CAN bus, and read a response. This is done using the &amp;lt;code&amp;gt;alkit-canwrapper&amp;lt;/code&amp;gt; library.&lt;br /&gt;
The following code block shows how to set up the CAN interface, prepare a CAN frame for transmission, set up a CAN filter matching the expected response, and then send the CAN frame.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt; // Initialize CAN interface&lt;br /&gt;
  ret = init_can(canbus, DEFAULT_CAN_DEVICE);&lt;br /&gt;
  can_device_fd = get_can_fd(canbus);&lt;br /&gt;
  &amp;lt;br&amp;gt;&lt;br /&gt;
  // Set up CAN filter&lt;br /&gt;
  install_CAN_filter(canbus, 0, CAN_FILTER_TYPE_PASS, can_filter_id, can_filter_mask);&lt;br /&gt;
  &amp;lt;br&amp;gt;&lt;br /&gt;
  // Prepare CAN frame for request&lt;br /&gt;
  memset(&amp;amp;req_frame, 0, sizeof(candata_t));&lt;br /&gt;
  req_frame.id = ecu_id;&lt;br /&gt;
  req_frame.bus_nr = canbus;&lt;br /&gt;
  req_frame.frame_type = CAN_FRAME_11_BIT;&lt;br /&gt;
  memset(req_frame.databytes, 0, 8);&lt;br /&gt;
  req_frame.databytes[0] = 0x02; // SingleFrame, length = 2&lt;br /&gt;
  req_frame.databytes[1] = 0x10; // Service 10&lt;br /&gt;
  req_frame.databytes[2] = 0x01; // Default Diagnostic Session&lt;br /&gt;
  req_frame.databyte_count = 8; // With padding&lt;br /&gt;
  &amp;lt;br&amp;gt;&lt;br /&gt;
  // Send CAN frame&lt;br /&gt;
  debug_msg(1, &amp;quot;Sending diagnostic request on CAN bus %d...\n&amp;quot;, canbus);&lt;br /&gt;
  n = write_can(canbus, &amp;amp;req_frame, &amp;amp;t);&lt;br /&gt;
  if(n&amp;lt;0) {&lt;br /&gt;
    debug_msg(1, &amp;quot;Error writing CAN frame\n&amp;quot;);&lt;br /&gt;
    return -1;&lt;br /&gt;
  }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following code block shows how to read a response CAN frame.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;// Read CAN response&lt;br /&gt;
  FD_ZERO(&amp;amp;readfds);&lt;br /&gt;
  FD_SET(can_device_fd, &amp;amp;readfds);&lt;br /&gt;
  timeout.tv_sec = 0;&lt;br /&gt;
  timeout.tv_usec = 200000; // 200 ms&lt;br /&gt;
  &amp;lt;br&amp;gt;&lt;br /&gt;
  ready = select(FD_SETSIZE, &amp;amp;readfds, NULL, NULL, &amp;amp;timeout);&lt;br /&gt;
  if (ready &amp;gt; 0) {&lt;br /&gt;
    ret = read_can(canbus, &amp;amp;resp_frame);&lt;br /&gt;
    if (ret == CAN_STATUS_OK) {&lt;br /&gt;
      // Read successful&lt;br /&gt;
      handle_can_frame(&amp;amp;resp_frame);&lt;br /&gt;
    } else {&lt;br /&gt;
      debug_msg(1, &amp;quot;Error reading CAN frame\n&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  } else {&lt;br /&gt;
    debug_msg(1, &amp;quot;No response.\n&amp;quot;);&lt;br /&gt;
  }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The function &amp;lt;code&amp;gt;handle_can_frame&amp;lt;/code&amp;gt;which is called when a frame is read simply logs the CAN identifier and payload to the logfile.&lt;br /&gt;
&lt;br /&gt;
= Using the high-level API for reading in-vehicle signals =&lt;br /&gt;
To avoid the intricacies of reading CAN or FlexRay signals directly from the device, having to parse and interpret the signals, there is a high-level socket based API for reading in-vehicle and WICE-internal signals. The API is based on a publish/subscribe model, wherein the RP client subscribes to signals by name, and periodically gets signal values for the selected set of signals. The communication between the RP client and the WICE signal broker component is done over a socket.&lt;br /&gt;
&lt;br /&gt;
The example code &amp;lt;code&amp;gt;rpex-pubsub.c&amp;lt;/code&amp;gt; illustrates how to use the publish/subscribe API. The full source code is available [http://www.alkit.se/rp/example here].&lt;br /&gt;
&lt;br /&gt;
To set up the communication between the RP module and the signal broker, the example program calls a function called &amp;lt;code&amp;gt;setup_pubsub_connection()&amp;lt;/code&amp;gt; after parsing the command line parameters:&lt;br /&gt;
 &amp;lt;code&amp;gt;pubsub_socket = setup_pubsub_connection(ip_addr, port_num);&lt;br /&gt;
  if(pubsub_socket&amp;lt;0) {&lt;br /&gt;
    debug_msg(1, &amp;quot;Pubsub connection failed\n&amp;quot;);&lt;br /&gt;
    exit(-1);&lt;br /&gt;
  }&amp;lt;/code&amp;gt;&lt;br /&gt;
The &amp;lt;code&amp;gt;setup_pubsub_connection()&amp;lt;/code&amp;gt; function sets up a TCP socket to use for the communication.&lt;br /&gt;
&lt;br /&gt;
To this socket, a subscribe command is sent with a list of names of the signals to subscribe to. The syntax of the subscribe command is as follows:&lt;br /&gt;
 &amp;lt;code&amp;gt;subscribe &amp;lt;signal name 1&amp;gt; &amp;lt;signal name 2&amp;gt; ...&amp;lt;signal name n&amp;gt;&amp;lt;CRLF&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that the separator character has to be space, and the line terminated with Carriage Return + Line Feed (or optionally only Line Feed).&lt;br /&gt;
 &amp;lt;code&amp;gt;sprintf(str, &amp;quot;subscribe %s %s\n&amp;quot;, RPEX_SIGNAL1, RPEX_SIGNAL2);&lt;br /&gt;
  n = send(pubsub_socket, str, strlen(str), 0);&lt;br /&gt;
  if(n &amp;lt;= 0) {&lt;br /&gt;
    debug_msg(1, &amp;quot;Error subscribing to signals\n&amp;quot;);&lt;br /&gt;
    exit(-1);&lt;br /&gt;
  }&lt;br /&gt;
 &amp;lt;/code&amp;gt;&lt;br /&gt;
Once the signals have been subscribed, the signal broker will send the signal values on the socket, to be read by the RP program, with the following syntax:&lt;br /&gt;
 &amp;lt;code&amp;gt;&amp;lt;signal name&amp;gt; &amp;lt;value&amp;gt;&amp;lt;CRLF&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Again, the separator character between signal name and value is space.&lt;br /&gt;
&lt;br /&gt;
The following code segment show an example of how to read signals as the bcome available on the socket using the &amp;lt;code&amp;gt;select()&amp;lt;/code&amp;gt; system call.&lt;br /&gt;
 &amp;lt;code&amp;gt;while(count &amp;lt; 100) {&lt;br /&gt;
    FD_ZERO(&amp;amp;readfds);&lt;br /&gt;
    FD_SET(pubsub_socket, &amp;amp;readfds);&lt;br /&gt;
    timeout.tv_sec = 1;&lt;br /&gt;
    timeout.tv_usec = 0;&lt;br /&gt;
    ready = select(FD_SETSIZE, &amp;amp;readfds, NULL, NULL, &amp;amp;timeout);&lt;br /&gt;
    if (ready &amp;gt; 0) {&lt;br /&gt;
      n = read_line(pubsub_socket, &amp;amp;buf);&lt;br /&gt;
      if (n &amp;gt; 0) {&lt;br /&gt;
        // Read successful&lt;br /&gt;
        handle_signal(buf);&lt;br /&gt;
        free(buf);&lt;br /&gt;
        count++;&lt;br /&gt;
      } else {&lt;br /&gt;
        debug_msg(1, &amp;quot;Error reading signal\n&amp;quot;);&lt;br /&gt;
        break;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;read_line()&amp;lt;/code&amp;gt; helper function handles the actual reading of characters from the socket, and then the &amp;lt;code&amp;gt;handle_signal()&amp;lt;/code&amp;gt; function parses the signal names and values, as follows. &lt;br /&gt;
 &amp;lt;code&amp;gt;void handle_signal(char *str) {&lt;br /&gt;
  char name[1000];&lt;br /&gt;
  float value;&lt;br /&gt;
  sscanf(str, &amp;quot;%s %f&amp;quot;, name, &amp;amp;value);&lt;br /&gt;
  if(strcmp(name, RPEX_SIGNAL1)==0)&lt;br /&gt;
    debug_msg(1, &amp;quot;The value of signal 1 is %f\n&amp;quot;, value);&lt;br /&gt;
  if(strcmp(name, RPEX_SIGNAL2)==0)&lt;br /&gt;
    debug_msg(1, &amp;quot;The value of signal 2 is %f\n&amp;quot;, value);&lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
The RP program can at any time unsubscribe to signals using the &amp;lt;code&amp;gt;unsubscribe&amp;lt;/code&amp;gt; command, which has the same syntax as the &amp;lt;code&amp;gt;subscribe&amp;lt;/code&amp;gt; command.&lt;br /&gt;
 &amp;lt;code&amp;gt;unsubscribe &amp;lt;signal name 1&amp;gt; &amp;lt;signal name 2&amp;gt; ...&amp;lt;signal name n&amp;gt;&amp;lt;CRLF&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
After unsubscribing to a (subset) of the subscribed signals, those signals&#039; values will no longer be transmitted on the socket. (This is not shown in the example.)&lt;br /&gt;
&lt;br /&gt;
The final part of the example shows how to terminate the subscription using the &amp;lt;code&amp;gt;quit&amp;lt;/code&amp;gt; command.&lt;br /&gt;
 &amp;lt;code&amp;gt;send(pubsub_socket, &amp;quot;quit&amp;quot;, 4, 0);&lt;br /&gt;
  close(pubsub_socket);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can find more information about the signal broker API in [[WICE Signal Broker API]] section.&lt;br /&gt;
&lt;br /&gt;
= Rapid Prototyping using Node.js =&lt;br /&gt;
To develop Rapid Prototyping applications with graphical user interfaces, the [https://nodejs.org Node.js] framework can be used. Node.js is a cross-platform JavaScript run-time environment that executes JavaScript code on the server side. In the WICE RP concept, a Node.js application can be downloaded to a WCU where it is executed. The user interface developed can be accessed from a web browser connected to the WCU through Ethernet or WiFi. The setup described here is built with Node.js Express. However, other frameworks can be utilized using the same methodology, with small modifications. &lt;br /&gt;
&lt;br /&gt;
All written to consol.log() will be in a log-file called rp-webapp-&amp;lt;date&amp;gt;.log and uploaded and accessible in the WICE back end. &lt;br /&gt;
&lt;br /&gt;
The following example demonstrates how to access vehicle signals from a Node.js application running on a WCU.&lt;br /&gt;
&lt;br /&gt;
In the Node.js application server set-up script, add the following code segment to include the Express framework and &amp;lt;code&amp;gt;socket.io&amp;lt;/code&amp;gt; handling socket communication.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;// Setup server environment&lt;br /&gt;
 const express = require(&#039;express&#039;);&lt;br /&gt;
 const app = express();&lt;br /&gt;
 const server = require(&#039;http&#039;).createServer(app);&lt;br /&gt;
 const io = require(&#039;socket.io&#039;)(server);&lt;br /&gt;
 &lt;br /&gt;
 // Run internal util&lt;br /&gt;
 require(&#039;/path/to/script/socketHandler.js&#039;)(io)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;socketHandler.js&amp;lt;/code&amp;gt; script contains the code that handles the socket communication, both with the web-client and with the WICE Signal Broker. The function waits for a client to connect, by accessing the web page. It then connects to the Signal Broker and subscribes to the desired signals (in this example Engine Speed and Vehicle Speed on the MS CAN bus). The application then listens for incoming messages on the connected socket and processes the data, i.e. signal names and values. The data is then transferred to the client by &amp;lt;code&amp;gt;socket.io&amp;lt;/code&amp;gt; communication in order to present the information in the web-browser. An example &amp;lt;code&amp;gt;socketHandler.js&amp;lt;/code&amp;gt; script is outlined here:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;code&amp;gt;const net = require(&#039;net&#039;);&lt;br /&gt;
 const PORT = 31415;&lt;br /&gt;
 &lt;br /&gt;
 module.exports = function(io) {      &lt;br /&gt;
   io.on(&#039;connection&#039;, function(client) {  // Await client connection&lt;br /&gt;
       console.log(&#039;Client connected...&#039;);&lt;br /&gt;
 &lt;br /&gt;
       // Setup TCP socket to Signal Broker.&lt;br /&gt;
       var tcpSocket = new net.Socket();&lt;br /&gt;
       tcpSocket.connect(PORT, &#039;localhost&#039;, function () {&lt;br /&gt;
           console.log(&#039;Connected to signal broker... &#039;);&lt;br /&gt;
 &lt;br /&gt;
           // Get a list of available signals (optional)&lt;br /&gt;
           tcpSocket.write(&#039;list\n&#039;); &lt;br /&gt;
 		&lt;br /&gt;
           // Subscribe to desired signals. &lt;br /&gt;
           tcpSocket.write(&#039;subscribe CAN_MS.EngineSpeed CAN_MS.VehicleSpeed\n&#039;);&lt;br /&gt;
       });&lt;br /&gt;
 	&lt;br /&gt;
      // Listener triggered by messages from sigread.      &lt;br /&gt;
     tcpSocket.on(&#039;data&#039;, function(message) {       &lt;br /&gt;
        console.log(message.toString());  &lt;br /&gt;
        // Handle received messages here...&lt;br /&gt;
     });&lt;br /&gt;
 &lt;br /&gt;
     // Triggered if the tcpSocket is closed.&lt;br /&gt;
     tcpSocket.on(&#039;close&#039;, function () {&lt;br /&gt;
           console.log(&#039;TCP connection closed!&#039;);&lt;br /&gt;
      });&lt;br /&gt;
 &lt;br /&gt;
     // Triggered upon error events.&lt;br /&gt;
     tcpSocket.on(&#039;error&#039;, function(error) {&lt;br /&gt;
           console.log(&#039;TCP error: %s&#039;, error);&lt;br /&gt;
      });&lt;br /&gt;
 &lt;br /&gt;
     // Triggered if the client refreshes or closes the page&lt;br /&gt;
      client.on(&#039;disconnect&#039;, function (){&lt;br /&gt;
           console.log(&amp;quot;Client disconnected&amp;quot;);  &lt;br /&gt;
           tcpSocket.destroy(); // Disconnect from Signal Broker&lt;br /&gt;
      });&lt;br /&gt;
   });  &lt;br /&gt;
 }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each received message is a newline-terminated text line consisting of signal name followed by signal value, separated by a space character (see [[#Using the high-level API for reading in-vehicle signals|Signal Broker]] section above). The message is transferred to the client through socket communication established in the first part of the script above.&lt;br /&gt;
&lt;br /&gt;
Send data to client:&lt;br /&gt;
 &amp;lt;code&amp;gt;client.emit(&#039;speed&#039;, speed);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Receive data in HTML-embedded client script:&lt;br /&gt;
 &amp;lt;code&amp;gt;// Setup client socket.&lt;br /&gt;
 var socket = io.connect(&#039;/&#039;); // url path for the current page&lt;br /&gt;
 socket.on(&#039;connect&#039;, function (data) {&lt;br /&gt;
      console.log(&amp;quot;Client connected to server&amp;quot;);&lt;br /&gt;
 });&lt;br /&gt;
 	&lt;br /&gt;
 // Triggered by ‘speed’ tagged messages from server.&lt;br /&gt;
 socket.on(&#039;speed&#039;, function (value) {&lt;br /&gt;
               console.log(value);&lt;br /&gt;
 });&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To transfer a Node web-app to one or more WCUs, it should be put in a zip file and uploaded to the WICE Portal as an RP module.&lt;br /&gt;
The zip file must have a top level directory called &amp;lt;code&amp;gt;rp&amp;lt;/code&amp;gt;, and in this directory a Node application entry point file called &amp;lt;code&amp;gt;server.js&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A complete example of a Node web-application RP zip-file, including source code, is available for download [http://www.alkit.se/rp/node-example here].&lt;/div&gt;</summary>
		<author><name>Max.h.petersson</name></author>
	</entry>
	<entry>
		<id>https://wiki.alkit.se/wice295/index.php?title=The_Portal_Administrator_View&amp;diff=840</id>
		<title>The Portal Administrator View</title>
		<link rel="alternate" type="text/html" href="https://wiki.alkit.se/wice295/index.php?title=The_Portal_Administrator_View&amp;diff=840"/>
		<updated>2017-09-13T07:20:10Z</updated>

		<summary type="html">&lt;p&gt;Max.h.petersson: /* Modules for the WCU */ RFE till RP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An administrator can do everything a user can do and more. In addition to the user, an administrator can create and modify users and stop assignments for any task. &lt;br /&gt;
These new functions will be explained in the next 3 chapters.&lt;br /&gt;
&lt;br /&gt;
We will start with the search tab where two more buttons are visible. Next is the vehicles tab.&lt;br /&gt;
Lastly is the administration tab with 5 sub tabs consisting of: the connect tab, the archives tab the&lt;br /&gt;
GDS/SDDB files tab, the resource groups tab and the users tab.&lt;br /&gt;
&lt;br /&gt;
==The Search Tab==&lt;br /&gt;
[[File:Admin stop assigment.png|thumb|200x200px|Illustration 32a: Stop running assignment]]&lt;br /&gt;
[[File:Admin force stop assignment.png|thumb|200x200px|Illustration 32b: Force stop assignment]]&lt;br /&gt;
In addition to the functionality for an ordinary user, an administrator have one more button present. An administrator can send a force stop command to any WCU.  &lt;br /&gt;
&lt;br /&gt;
Illustration 32a shows the &amp;quot;Stop assigment&amp;quot; button. This button is the same as for the ordinary user and is used to stop a running assignment. When a running assignment is stopped, it changes state to &amp;quot;Stop pending&amp;quot;. This means that the portal is waiting for a stop message from the WCU before the state is changed to &amp;quot;Stopped&amp;quot; in the portal view. The administrator view exclusive &amp;quot;Force Stop Assignment&amp;quot; button, which can be seen in illustration 32b, forces a &amp;quot;Stop pending&amp;quot; assignment into &amp;quot;Stopped&amp;quot; state without waiting for the stop signal from the WCU. &lt;br /&gt;
&lt;br /&gt;
Also, the administrator can search and view any user&#039;s task.&lt;br /&gt;
&lt;br /&gt;
==The Vehicles Tab==&lt;br /&gt;
An administrator can do quite a many things in this view. Illustration 33 shows an example of this view. The table header along with the buttons “Edit Description” and “Get Log Files” are explained in the page for &#039;&#039;&#039;[[Vehicles]]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
At the bottom you have a set of buttons to aid in handling the WCUs. To add a new WCU to the portal, the “New” buttons opens up a dialog for that. The “Get Log Files” button fetches log files for the selected WCU from the portal.&lt;br /&gt;
&lt;br /&gt;
[[File:42vehiclestab.png|none|left|frame|Illustration 33: The administrator&#039;s view in the WCUs tab.]]&lt;br /&gt;
&lt;br /&gt;
===The New WCU Dialog===&lt;br /&gt;
[[File:Illustration34.png|frame|Illustration 34: The Add New WCU Dialog.]]&lt;br /&gt;
There are two ways that a WCU can enter the portal. The first is if you click the “New WCU” button and the second is the first time a WCU connects to the portal it registers itself. Ideally you will never have to add a WCU to the portal but just as a safety step you have the opportunity to add it yourself. When clicking the “New WCU” button the dialog in Illustration 34 opens up. You must enter the ID of the WCU as this is a unique identifier and you will be notified if the ID is already present on the portal. The description is optional but may be handy to remember which WCU it is.&lt;br /&gt;
&lt;br /&gt;
===Edit the WCU Configuration===&lt;br /&gt;
[[File:Wcu config1.png|150px|thumb|frame|Illustration: Modules.]]&lt;br /&gt;
[[File:Wcu config2.png|150px|thumb|frame|Illustration: Connection.]]&lt;br /&gt;
[[File:Wcu config3.png|150px|thumb|frame|Illustration: WCU.]]&lt;br /&gt;
[[File:Wcu config4.png|150px|thumb|frame|Illustration: Power management.]]&lt;br /&gt;
[[File:Wcu_config_wake_on_can.png|150px|thumb|frame|Illustration: Wake On CAN]]&lt;br /&gt;
[[File:Wcu config5.png|150px|thumb|frame|Illustration: Upload.]]&lt;br /&gt;
You can edit the configuration of the WCU from the portal. Simply click on &#039;&#039;&#039;Edit Configuration&#039;&#039;&#039; to open up the window in &amp;quot;Illustration: WCU Configuration: Modules&amp;quot;. The WCU configuration window is divided into five tabs where each tab is described below.  &lt;br /&gt;
&lt;br /&gt;
====Modules====&lt;br /&gt;
The set of check boxes for the different modules that are present is nine and are at the top. Check or uncheck these to tell the WCU if they are present or not. Doing so will speed up the boot process.&lt;br /&gt;
&lt;br /&gt;
To edit &amp;quot;Car type&amp;quot;, click on the field where the car type is the displayed to open the &amp;quot;Edit car&amp;quot; dialog. This dialog is described in section [[The_Portal_Administrator_View#The_Edit_Car_Dialog]]&lt;br /&gt;
&lt;br /&gt;
The last three check boxes, &amp;quot;Run IDC at boot&amp;quot;, &amp;quot;Run IDC at ignition off&amp;quot; and &amp;quot;Enable VIN reader&amp;quot; is self-explanatory.&lt;br /&gt;
&lt;br /&gt;
====Connection====&lt;br /&gt;
This tab can be seen in &amp;quot;Illustration: Connection&amp;quot; and the tab content is described in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Internet Service Provider (ISP)&lt;br /&gt;
| Which ISP to use when multiple SIM cards are installed&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | WICE portal address&lt;br /&gt;
| The server that the WCU should use for fetching new assignments etc.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | DRO Server&lt;br /&gt;
| The server to connect to when doing a DRO.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====WCU====&lt;br /&gt;
This tab can be seen in &amp;quot;Illustration: WCU&amp;quot; and the tab content is described in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Unit ID:&lt;br /&gt;
| The ID cannot be changed from the portal. It can only be changed by logging on to the WCU.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Platform type:&lt;br /&gt;
| The WCU platform type.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Platform subtype:&lt;br /&gt;
| The WCU platform subtype.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | WCU software version:&lt;br /&gt;
| This is the currenly used WCU software version.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Preferred WCU software:&lt;br /&gt;
| This is the new preferred WCU software version to be installed.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Perform reset on update:&lt;br /&gt;
| Removes all data on the WCU when installing a new WCU software.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | MX4 firmware version:&lt;br /&gt;
| The currently used MX4 firmware version.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Preferred MX4 firmware:&lt;br /&gt;
| The new preferred MX4 firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
From version 2.40 of the WCU software, all WCUs report its platform type. The platform type determines, among other things, the number of available CAN buses in the IO tab. (see [[I/O configurations]]) Since a resource group is a collection of WCUs it has no platform type of its own to report. From version 2.41 of the portal the user has the option to set a fictive platform type for a resource group. This is also a prerequisite to also set the [[I/O configurations]] for a resource group. The platform type (and eventual subtype) is set in the WCU tab. If the resource group has members with other platform type(s) than the type that is about to be set, the user will get a warning.&lt;br /&gt;
&lt;br /&gt;
If the platform type of the resource group differs from the platform type of its members the I/O tab will be disabled. This is also the case when the platform type of the resource group and one member is the same but another member has another platform type.&lt;br /&gt;
&lt;br /&gt;
From version 2.42 it is possible to update the WCU root password. To update the password, write the new password in &amp;quot;Set root password&amp;quot; and save the configuration.&lt;br /&gt;
&lt;br /&gt;
====Power Management====&lt;br /&gt;
[[File:Periodic wake up time.png|thumb|frame|Illustration: Perodic wake-up]]&lt;br /&gt;
This tab can be seen in &amp;quot;Illustration: Power management &amp;quot; and the tab content is described below.&lt;br /&gt;
&lt;br /&gt;
“Power mode” has two settings, Sleep and cut-off. In cut-off the MCD-Hub is not powered up on boot, nor is the WCU woken up at regular intervals to report battery voltage, GPS position etc.&lt;br /&gt;
&lt;br /&gt;
In the other mode, sleep, some more settings are visible as shown in &amp;quot;Illustration: Wake On Can&amp;quot;. &lt;br /&gt;
You can select the WCU to remain unpowered by selecting &amp;quot;External cut-off&amp;quot;. In addition, you may enable the WCus wake-up functionality. This function is simply made up of a cycle time called “Periodic wake-up time” and the corresponding “Periodic run-time”. The “Periodic run-time” determines how long time the WCU should be awake before going back to sleep. The “Periodic wake-up time” indicates the time for each new wake up cycle.&lt;br /&gt;
&lt;br /&gt;
From version 2.43 it is also possible to set power mode to &amp;quot;deep sleep&amp;quot; for WCUs running on platform MX4 T20/T30 and MX4 V61. The configuration is the same as for mode &amp;quot;sleep&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example: &#039;&#039;&#039; &lt;br /&gt;
A periodic run-time of 600 seconds means that the WCU will be alive for 600 seconds (10 minutes). A periodic wake-up time of 3600 seconds means that the WCU will start a new run-time (600 seconds in this case) every new hour. (3600 seconds = 60 min). The sleep time in each cycle is, for the general case, the wake-up time minus the run-time and in this example 3600 minus 600 = 3000 seconds (50 min).&lt;br /&gt;
This example is illustrated in illustration &amp;quot;Perodic wake-up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--You can select the MCD-Hub to remain unpowered by selecting &amp;quot;MCD-hub cut-off&amp;quot;. In addition, you may enable the WCUs wake-up functionality. This function is simply made up of a cycle time called “Periodic wake-up time” and the corresponding “Periodic run-time” which indicates for how long I should be awake before going to sleep. The committo platform has some limits on the two settings and those are: minimum time to set between wake-ups is 10 minutes and the maximum time is 12 hours.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Upload====&lt;br /&gt;
This tab can be seen in &amp;quot;Illustration: Upload&amp;quot; and the tab content is described in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Mobile upload limit&lt;br /&gt;
| Defines the maximum data size that should be transferred via the mobile network. If the data size is larger than that the WCU will wait until a connection to a local network can be established. The size is in Mbytes.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Post run grace timeout&lt;br /&gt;
| The number of seconds to wait before communicating with the MCD-Hub and portal, if the ignition is turned off.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Upload timeout&lt;br /&gt;
| The maximum number of seconds the WCU should upload data before stopping.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Erase error code&lt;br /&gt;
| If turned on the error codes in the car will be reset.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Upload data at boot&lt;br /&gt;
| Uploads data when the WCU boots up&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Upload data at ignition off&lt;br /&gt;
| Uploads data when the car is turned off&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;150px&amp;quot; mode=&amp;quot;nolines&amp;quot;&amp;gt;&lt;br /&gt;
File:Wcu config1.png|Illustration: Modules.&lt;br /&gt;
File:Wcu config2.png|Illustration: Connection.&lt;br /&gt;
File:Wcu config3.png|Illustration: WCU.&lt;br /&gt;
File:Wcu config4.png|Illustration: Power Management.&lt;br /&gt;
File:Wcu_config_wake_on_can.png|Illustration: Wake On CAN&lt;br /&gt;
File:Wcu config5.png|Illustration: Upload.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
Version &amp;gt;= 2.41 of the portal has a new tab named I/O. You can read more about in [[I/O_configurations]].&lt;br /&gt;
&lt;br /&gt;
===The Edit Car Dialog===&lt;br /&gt;
[[File:Illustration37.png|frame|Illustration 37: Edit Car]]&lt;br /&gt;
&lt;br /&gt;
To edit the information about a car, press the “Edit Car” button. The dialog in Illustration 37 opens up.&lt;br /&gt;
The entry you can not edit is the VIN entry. If you need to edit that you must instead create a new car.&lt;br /&gt;
In order for the portal to be able to translate error codes into a human readable format, you must choose a diagnostic DB file to be used. It is important to select the correct one as the diagnostic error codes read out might be translated incorrectly or more probable, not at all. It is also important to select the right type of car using “Car type”. This controls the number of CAN buses and speeds and the number of Ethernet networks, if any, in the car. The “Active” check box controls whether the car should show up in tables and searches in general concerning cars. A car can never be removed as it has probably been involved in measurements but to recall an inactivated car you must actively select to view inactivated cars.&lt;br /&gt;
&lt;br /&gt;
It is possible to update several cars at once by selecting multiple cars and then press the “Edit Car” button. By doing this you can selectively make changes to attributes of all the selected cars at once. To do this, the dialog is extended as one can be seen in Illustration 38 below.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration38.png|frame|Illustration 38: Edit Car|center]]&lt;br /&gt;
&lt;br /&gt;
===Upload a Car Import File===&lt;br /&gt;
It is possible to import a file that describes a set of cars. It can consist of both new cars and cars already in the database but that might need to be updated with new information.&lt;br /&gt;
A car import file consists of a comma separated file where each line describes a car. The first line of the file must look as follows:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;VIN,regNr,description,project,protoNumber,tsu,series&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There are seven attributes currently. When uploading the file you have a choice of modifying existing cars on the portal. If you do not check this box and there are cars that already exists, the import will fail.&lt;br /&gt;
&lt;br /&gt;
=== Show or export SIM card ID ===&lt;br /&gt;
The SIM card ID for a single WCU can be seen when right-clicking on a WCU in the Vehicles tab and selecting &amp;quot;Show info&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
SIM card ID&#039;s for one or multiple WCUs can also be exported as a csv file. Select the WCUs you are interested in (in the Vehicles tab) and press the button &amp;quot;Export SIM card info&amp;quot; located in the bottom row below the Vehicles grid. The downloaded file will contain five columns: WCU ID, WCU Name, RegNr (Plate nr), VIN and SIM Card ID. &lt;br /&gt;
&lt;br /&gt;
=== Upload WCU file ===&lt;br /&gt;
The WCU attributes &#039;WCU Name&#039; and &#039;WCU Comment&#039; can from version 2.43 of the portal be updated for multiple WCUs via a comma separated txt/xls/xlsx file. Click the &amp;quot;Upload WCU File&amp;quot; button to open up the import file to upload dialog.&lt;br /&gt;
&lt;br /&gt;
The uploaded file has the following requirements:&lt;br /&gt;
* The file must have two mandatory columns with the names &#039;WCU ID&#039; and &#039;WCU Name&#039;.&lt;br /&gt;
* Furthermore, an optional column named &#039;Comments&#039; can be added. &lt;br /&gt;
* The columns should be in said order.&lt;br /&gt;
* The amount of columns on each row must match the amount of columns in the header. &lt;br /&gt;
* The columns should be separated by using tab or by a comma.&lt;br /&gt;
If there is a &#039;Comment&#039; column and a blank comment on a row then the old comment, if any, for the specific WCU will be kept. &lt;br /&gt;
&lt;br /&gt;
To remove a comment from a WCU simply check the checkbox for erasing comments. Doing so will result in that empty comments in the uploaded file will erase current comments.&lt;br /&gt;
&lt;br /&gt;
==Resource Groups==&lt;br /&gt;
As described above in [[Vehicles#Resource Groups]], you can define a set of resource groups in order to easily handle large groups of resources collectively. An example is if you have 100&lt;br /&gt;
WCUs in such a resource group and you would like to edit the configuration for all WCUs. Instead of having to open the configuration for each individual WCU, you simply open the configuration for the resource group, do your edits and when you press save, the configuration&lt;br /&gt;
will be saved to all WCUs in one go. The resource groups are created in another panel which&lt;br /&gt;
will be described later.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration39.png|frame|Illustration 39: Adding resources to a group.|left]]&lt;br /&gt;
To add resources to a resource group you start by selecting the resources you are interested to add to a resource group. Resources already added to a resource group will render the corresponding add button disabled.&lt;br /&gt;
&lt;br /&gt;
When you are satisfied with your selection you press either the button “Add WCU(s) to resource group” or “Add car(s) to resource group”. Pressing any of those buttons will show the dialog to the left. The group box will list the available groups. If you know the name of the resource group you can type the name and as you type the box will show names that fit what you type.&lt;br /&gt;
&lt;br /&gt;
The three check boxes requires a deeper discussion of what the mean. Assume you have a resource group that has been used for some time. A new WCU enters the portal and you would like to add that WCU to your group. A common situation is that you would like that WCU to be configured that same way as the rest of the WCUs in the resource group. This is accomplished by checking “Update WCU configuration”. If this requires an update of the WCUs software it will automatically be taken care of. Also, a WCU comes configured with a set of modules. Usually you will probably want to update the module configurations as well but in case you wish not to, simply uncheck that check box. There are also situations where there are no module configurations for some modules and if you press “Add” you will be prompted about that. If you for some reason do care about that you can check the “Ignore non existent tools and configurations” check box.&lt;br /&gt;
&lt;br /&gt;
==Modules for the WCU==&lt;br /&gt;
A WCU can have a number of modules attached. This makes it possible to add new peripherals to the WCU for handling various tasks in acquiring measured data from a car. The nine types of modules are:&lt;br /&gt;
# MCD-Hub&lt;br /&gt;
# Canrecorder&lt;br /&gt;
# GPS&lt;br /&gt;
# IDC (Internal Diagnostic Client)&lt;br /&gt;
# Uptime&lt;br /&gt;
# State of Health&lt;br /&gt;
# Signal Reader&lt;br /&gt;
# RP (Rapid Prototyping)&lt;br /&gt;
# Blue piraT&lt;br /&gt;
&lt;br /&gt;
To deal with each tool&#039;s configuration a new view is presented below. To open this view, press the button “Modules” as shown in Illustration 33 on [[#The Vehicles Tab]].&lt;br /&gt;
In the illustration above there are a set of tools present. Each type is grouped on the left side using a stack panel. Select the connected MCD-Hubs by selecting the MCD-Hub stack and select (click) the Canrecorder stack to see the canrecorders connected a so fourth.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration40.png|frame|Illustration 40: View for handling tool configurations.|center]]&lt;br /&gt;
Each tool has its own entry in each of the stacks. In Illustration 40 above there is only one MCD-Hub present and it is “0”. Each tool is recognized with a tool ID which is set by the WCU. This ID is usually not descriptive and therefore you have the possibility to set a name of your likings. Change the name by pressing the button “Edit name”. You can also add a description to the tool that shows up as a “tool tip” when hovering over the name of the selected tool. Analogously, change the description by pressing the button “Edit tool description”. To reload the set of available tools for both MCD-Hub and Canrecorder, press the “Reload tools” button.&lt;br /&gt;
&lt;br /&gt;
===Configure the MCD-Hub Module===&lt;br /&gt;
The configuration for the MCD-Hub has only two settings. The first is the MCD-Hubs IP address and the second is the preferred firmware version. The other two configuration settings shown in Illustration 40 is “MCD-Hub firmware version” which shows the current version used by the hub and the second is “Last configuration update date” which states when the MCD-Hubs current configuration was brought into action.&lt;br /&gt;
When you are done with your configuration you save it by pressing the “Save” button. If you for any reason need to reload the configuration, press the “Reload” button.&lt;br /&gt;
&lt;br /&gt;
===Configure the Canrecorder Module===&lt;br /&gt;
The configuration for the Canrecorder is shown in Illustration 41 below. There are four fields of which two are editable. In order for the canrecorder to work you need to set the high- and low speed CAN bus. The update date says when the last configuration was enabled and the canrecorder version says which version of the canrecorder software is used.&lt;br /&gt;
[[File:Illustration41.png|frame|Illustration 41: Configuration options for Canrecorder.|center]]&lt;br /&gt;
&lt;br /&gt;
===Configure the GPS Module===&lt;br /&gt;
There are four settings involved:&lt;br /&gt;
&lt;br /&gt;
# Enable GPS. Sets whether the GPS should be enabled or not. If you disable the GPS all the other settings will also be disabled.&lt;br /&gt;
# GPS sampling interval. Sets the position sampling interval in seconds.&lt;br /&gt;
# GPS monitor enabled. If this setting is enabled the WCU will continuously send its GPS position to the portal enabling real-time monitoring of the whereabouts of the WCU.&lt;br /&gt;
# GPS monitor interval. Set how often the position will be updated. The interval is in seconds.&lt;br /&gt;
&lt;br /&gt;
===Configure the IDC Module===&lt;br /&gt;
[[File:Illustration42.png|frame|Illustration 42: Settings for the Internal Diagnostic Client (IDC).|center]]&lt;br /&gt;
The IDC can be configured with which bus to communicate on given its assignment. You can actually even choose both where it will first try the Ethernet network (ETH), if it exists, and the CAN bus. If the car type in question does not have an Ethernet network, only the CAN option will appear.&lt;br /&gt;
&lt;br /&gt;
===Configure the Up-time Module===&lt;br /&gt;
[[File:Illustration43.png|frame|Illustration 43: Settings for the Up-time module.|right]]&lt;br /&gt;
The module is used to report how much and how long the WCU is running. First of all you can enable/disable the functionality all together with the “Enabled” check box. Next is how often the up-time should be logged in seconds. The second check box, “Monitor enabled” is used when you would like the module to report its up-time in real-time and the interval for that, also in seconds.&lt;br /&gt;
&lt;br /&gt;
===Configure the State of Health Module===&lt;br /&gt;
The state of health model has the same settings as the IDC module above.&lt;br /&gt;
&lt;br /&gt;
===Configure the Signal Reader Module===&lt;br /&gt;
As of version 2.33 of the WCU software it is possible to monitor signals in real time.&lt;br /&gt;
For this to happen you must enable the feature by checking the box “Enable monitor”. It is currently set at an update rate of once every second.&lt;br /&gt;
&lt;br /&gt;
===Configure the RP Module===&lt;br /&gt;
From version 2.35 of the portal there is a possibility to upload up to three files to configure the RP module. The three files are:&lt;br /&gt;
# Configuration file&lt;br /&gt;
# Certificate file&lt;br /&gt;
# Binary file&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration44.png|frame|Illustration 44: Settings for the RP module.|center]]&lt;br /&gt;
&lt;br /&gt;
=== Configure the Blue piraT Module ===&lt;br /&gt;
As of version 2.44 of the WICE portal it is possible to create blue piraT assignments. The blue piraT tool only has one configuration, the debug level, which determines the level of logging during the execution of the blue piraT assignments.&lt;br /&gt;
&lt;br /&gt;
==The Administration Tab==&lt;br /&gt;
This tab is a collection of the administrative tasks available in the portal. These are “Connect car to WCU”, “Archives”, “GDS/SDDB file”, “Resource Groups” and “Users”.&lt;br /&gt;
&lt;br /&gt;
===Connect Car to WCU tab===&lt;br /&gt;
To archive which car a specific WCU was in at the time an assignment was run can be done by connecting a car to a WCU in this tab. This is usually done automatically but in some situations it is necessary to do this manually&lt;br /&gt;
&lt;br /&gt;
The area is divided into two tables, one for searching WCUs, the left one, and one for searching cars, the right one. When you start typing the name of the WCU you are looking for in the upper left corner just above the table, matching WCUs appear in the left table. To find the car you are looking for, you do the same in the right table but here you have the option of using either the VIN or plate number.&lt;br /&gt;
&lt;br /&gt;
To connect a WCU with a car you drag the WCU you would like to connect onto the car in the right table. When you drop it onto a car a small icon will show signifying that the WCU and car are connected. &lt;br /&gt;
&lt;br /&gt;
From version 2.42 it is also possible to select a WCU and a Car and then click on the new &amp;quot;Connect&amp;quot; button located between the two grids.&lt;br /&gt;
&lt;br /&gt;
To disconnect a WCU and car you simply press the icon for wither of the WCU or car.&lt;br /&gt;
See Illustration 45 below for an example.&lt;br /&gt;
&lt;br /&gt;
The connection is a sort of instantaneous carbon copy of the situation at the time that a task was created. If you later change the connection, already running/run tasks will not be affected.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration45.png|frame|Illustration 45: The connect Car to WCU tab.|center]]&lt;br /&gt;
&lt;br /&gt;
===The User Administration Tab===&lt;br /&gt;
The basic layout of the areas is just the same here as before. At the top you have a search area, in the middle is a result are and at the bottom are a set of buttons. The tab with a set of example users is in Illustration 46 below.&lt;br /&gt;
The eight columns are:&lt;br /&gt;
[[File:Illustration46.png|frame|none|left|Illustration 46: The user administration tab.]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;User ID&#039;&#039;&#039;. The unique ID that the user must enter when logging in.&lt;br /&gt;
* &#039;&#039;&#039;Name&#039;&#039;&#039;. The name of the user.&lt;br /&gt;
* &#039;&#039;&#039;Roles&#039;&#039;&#039;. Depending on which roles the user has to, he/she have different privileges. The roles are non-overlapping, i.e. being an “Admin” does not necessarily mean that you can do everything a “User” can do.&lt;br /&gt;
* &#039;&#039;&#039;Enabled&#039;&#039;&#039;. Tells whether the account is enabled or not.&lt;br /&gt;
* &#039;&#039;&#039;Email Address&#039;&#039;&#039;. By registering an email address a user can receive notifications via email from a WCU when certain event occurs.&lt;br /&gt;
* &#039;&#039;&#039;Last login date&#039;&#039;&#039;. The date when the user last logged in.&lt;br /&gt;
* &#039;&#039;&#039;Two factor auth&#039;&#039;&#039;. Whether the two-factor authentication is turned on for a particular user.&lt;br /&gt;
* &#039;&#039;&#039;Logged in&#039;&#039;&#039;. You can see if the user is currently logged in.&lt;br /&gt;
&lt;br /&gt;
At the bottom there are eight buttons. They are:&lt;br /&gt;
# The “New” button brings up the “New User” dialog which adds a new user to the portal&lt;br /&gt;
# The “Edit” button brings up the “Edit User” dialog&lt;br /&gt;
# The “Change Password” button brings up a dialog to change a user&#039;s password.&lt;br /&gt;
# The “Create new secret” button. Pressing this generates a new cryptographic salt to be used when generating one-time passwords. If you do this for a user without enabling the possibility to see the secret on the next login, renders the user unable to login to the portal. No dialog is opened, simply a message saying that a new one has been generated is shown.&lt;br /&gt;
# The “Show secret” button. Shows a dialog with the cryptographic salt shown in clear text as well as the QR-code, more on this later.&lt;br /&gt;
# Edit roles and permissions&lt;br /&gt;
# The “Save headers” button. Saves the headers and their order to be used as default on later logins.&lt;br /&gt;
# Video. Start a video conversations with another user of the portal. You must have the software “Confero” installed for this to work.&lt;br /&gt;
&lt;br /&gt;
====The New User Dialog====&lt;br /&gt;
[[File:Illustration47.png|frame|Illustration 47: The New User Dialog]]&lt;br /&gt;
By pressing the “New User” button the dialog in Illustration 47 below appears. Mandatory fields are User ID and the two password fields. Remember that the User ID must be unique and you will be notified if it is not. Click the “Add” button to add the user or change you mind by clicking “Cancel”.&lt;br /&gt;
&lt;br /&gt;
====The Edit User Dialog====&lt;br /&gt;
You can at any time modify a user by pressing the “Modify” button to bring up the dialog in Illustration 48 below. The User ID cannot be changed. A disabled account can not be used for logging onto the portal even if the correct user name and password are given. To modify the user roles, select or deselect a role by using the check boxes. To turn on two-factor authentication for a user, check the appropriate box. When you are satisfied with your modifications, press the “Save” button to make them permanent on the portal or press the “Cancel” button if you change your mind.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration48.png|thumb|frame|Illustration 48: The modify user dialog.]]&lt;br /&gt;
&lt;br /&gt;
To enable two factor authentication, tick the check box “Enable two factor authentication”. This will force the user to add another special one time password in addition to the account password when logging into the portal. The one time password is generated by a program on either your computer or if you want to you can install it on your smart phone which is probably the best solution. The program that generates one time password is based on a cryptographic salt and the current time. The cryptographic salt is randomly generated by the portal and is individual for each user. A secret can at any time be regenerated for a user which will render the user unable to login if you do not tick the check box “Show the secret to the user on their next login”.&lt;br /&gt;
&lt;br /&gt;
====The Change Password Dialog====&lt;br /&gt;
[[File:Illustration49.png|thumb|frame|Illustration 49: The change password dialog.]]&lt;br /&gt;
To change a user&#039;s password, press the “Change Password” button and the dialog in X Y will appear. It is pretty straight forward as you type in the new password in the “New password” entry and you need to confirm it by typing it again in the entry below it. If you are satisfied, click the “Change” button or the “Cancel” button if you decide not to change the password.&lt;br /&gt;
&lt;br /&gt;
====The Show Secret Window====&lt;br /&gt;
[[File:Illustration50.png|thumb|frame|Illustration 50: The QR-code window]]&lt;br /&gt;
A QR-code is shown that can be transferred to a smart phone by simply starting the authenticator app, point it at the screen and let the phone read the QR-code. An example of such a QR-code can be seen in Illustration 50. If the application that is to be used as a password generator do not support QR codes, the secret is shown in clear text at the top.&lt;br /&gt;
&lt;br /&gt;
{{: Roles and permissions}}&lt;br /&gt;
===The GDS/SDDB File Tab===&lt;br /&gt;
In order for the portal to be able to translate error codes into a human readable format, a GDS or SDDB file must be selected for a vehicle. The set of GDS/SDDB files to choose from is administered in this tab, see Illustration 56 below. &lt;br /&gt;
[[File:Illustration53.png|left|frame|Illustration 56: The GDS/SDDB file view.]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
To upload a new GDS/SDDB file, press upload new file and you will be presented with dialog where you select the file, sets an optional name (if no name is entered, the file name is used) and an optional comment. To upload a new file for an existing entry, press the edit file button and you will be presented with a dialog where you can upload a new file. To edit the comment or the name that should show up when select which GDS/SDDB file to use for a vehicle, simply double click the cell and edit directly in the table.&lt;br /&gt;
&lt;br /&gt;
===The Resource Groups Tab===&lt;br /&gt;
This tab is used to administer some parts of the creation and destruction of resource groups and more. The panel for administering the resource groups is depicted in Illustration 57, below. &lt;br /&gt;
[[File:Illustration54.png|left|frame|Illustration 57: The resource groups panel.]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
At the top is a search field to search for resource groups. Next are two tables, side by side. The left table lists the resource groups found depending on your search criteria. When a resource group is selected, the resources that are part of the resource group are shown in the right table. Next, the functionality of the buttons will be covered.&lt;br /&gt;
&lt;br /&gt;
====Add and Remove Resource Groups====&lt;br /&gt;
[[File:Illustration55.png|thumb|Illustration 58: Add resource group dialog.]]&lt;br /&gt;
To add a resource group you simply press the “New resource group” button and the following window will show. Type the name for the new resource and press “Create”. If you change your mind, press the “Cancel” button. Resource groups are global and writable and that means that names must be unique. The reason for this is that a resource group name takes on the form as both the resources car and WCU and those must be unique and therefore the resource groups must also be unique. One can, however, imagine situations where this must not be enforced but at the moment this is the case.&lt;br /&gt;
&lt;br /&gt;
To remove a resource group, press the “Remove resource group” button. Be aware that no warning is given if there are resources in the group when removing it.&lt;br /&gt;
&lt;br /&gt;
====Manipulating Resources in a Resource Group====&lt;br /&gt;
In the right hand table in Illustration 59 below, you see a set of resources for a resource group. &lt;br /&gt;
[[File:Illustration56.png|left|frame|Illustration 59: Manipulating resources in a resource group.]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
Here are both WCUs and cars part of the group. In addition to the type there is a column named “Synchronized”. That column only applies to WCUs. The use of this column is as follows. Assume you have a resource group consisting of 50 WCUs. Further, lets make a configuration change to that resource group. Depending on where the WCUs geographically are and how they are used the WCUs will be updated at different times. How do you you know when all WCUs are up to date in the resource group? You could check them individually in the “Vehicles” panel but that is not very elegant and time saving. Instead, just watch the “Synchronized” column for the WCUs. When a WCU is up to date with respect to the group configuration the column will read “true”. The value is updated each 30 seconds.&lt;br /&gt;
&lt;br /&gt;
You can remove individual resources from a group by selecting the resource and then press the “Remove resource” button.&lt;br /&gt;
&lt;br /&gt;
Yet another button remains and it is the button “Base Group on Resource”. When you add a WCU to a resource group in the “Vehicles” panel you have the option of not updating the WCU configuration to match the one of the resource group&#039;s, see Illustration 39 in [[#Resource Groups]]. Using this function it is possible to base the whole group on a WCU&#039;s configuration rather than the group&#039;s configuration.&lt;br /&gt;
&lt;br /&gt;
===The WCU Status Tab===&lt;br /&gt;
This view is supposed to be used as for supervising a set of vehicles. The supervision done in real time and the values for the set of vehicles are updated as soon as they arrive on the server from the different vehicles.&lt;br /&gt;
&lt;br /&gt;
The set of status information collected comprises three parts:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;General information:&#039;&#039;&#039;&lt;br /&gt;
* Alive, a heart beat signal&lt;br /&gt;
* Connectivity, what data rates are currently available to the vehicle.&lt;br /&gt;
** 3G&lt;br /&gt;
** 2G&lt;br /&gt;
** none&lt;br /&gt;
* Cell Signal Quality (CSQ). Indicates the signal strength of the mobile modem. The values are between 0 – 31, the higher the value the better. The special value of 99 is designated an unknown or not even detectable signal.&lt;br /&gt;
* GPS, simply a binary indicator of fix or no fix for the GPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Storage Usage:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This set of data informs how much collected data resides in the WCU for each type of data collector (module). Total data indicates how much of the total amount of data storage available is used. After that, each type of data collector is lined up.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Collection Status:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
When modules collect data they go through a set of states when triggers starts, stops and other events occur. Currently, only such events for the signal reader module is available. An optional message accompanying the current state is shown in parenthesis.&lt;br /&gt;
&lt;br /&gt;
The screen is divided in two parts, on the left hand side is a table with search functionality for finding the vehicles of interest and on the right hand side is the monitored vehicles. To monitor a vehicles you search for it in the table and then drag and drop the vehicle on the right hand panel.&lt;br /&gt;
&lt;br /&gt;
A view of the panel is depicted in Illustration 60 below.&lt;br /&gt;
[[File:Illustration57.png|left|frame|Illustration 60: The WCU Status tab.]]&lt;/div&gt;</summary>
		<author><name>Max.h.petersson</name></author>
	</entry>
	<entry>
		<id>https://wiki.alkit.se/wice295/index.php?title=The_Portal_Administrator_View&amp;diff=839</id>
		<title>The Portal Administrator View</title>
		<link rel="alternate" type="text/html" href="https://wiki.alkit.se/wice295/index.php?title=The_Portal_Administrator_View&amp;diff=839"/>
		<updated>2017-09-11T14:32:14Z</updated>

		<summary type="html">&lt;p&gt;Max.h.petersson: /* Configure the RFE Module */  Changed to RP Module&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An administrator can do everything a user can do and more. In addition to the user, an administrator can create and modify users and stop assignments for any task. &lt;br /&gt;
These new functions will be explained in the next 3 chapters.&lt;br /&gt;
&lt;br /&gt;
We will start with the search tab where two more buttons are visible. Next is the vehicles tab.&lt;br /&gt;
Lastly is the administration tab with 5 sub tabs consisting of: the connect tab, the archives tab the&lt;br /&gt;
GDS/SDDB files tab, the resource groups tab and the users tab.&lt;br /&gt;
&lt;br /&gt;
==The Search Tab==&lt;br /&gt;
[[File:Admin stop assigment.png|thumb|200x200px|Illustration 32a: Stop running assignment]]&lt;br /&gt;
[[File:Admin force stop assignment.png|thumb|200x200px|Illustration 32b: Force stop assignment]]&lt;br /&gt;
In addition to the functionality for an ordinary user, an administrator have one more button present. An administrator can send a force stop command to any WCU.  &lt;br /&gt;
&lt;br /&gt;
Illustration 32a shows the &amp;quot;Stop assigment&amp;quot; button. This button is the same as for the ordinary user and is used to stop a running assignment. When a running assignment is stopped, it changes state to &amp;quot;Stop pending&amp;quot;. This means that the portal is waiting for a stop message from the WCU before the state is changed to &amp;quot;Stopped&amp;quot; in the portal view. The administrator view exclusive &amp;quot;Force Stop Assignment&amp;quot; button, which can be seen in illustration 32b, forces a &amp;quot;Stop pending&amp;quot; assignment into &amp;quot;Stopped&amp;quot; state without waiting for the stop signal from the WCU. &lt;br /&gt;
&lt;br /&gt;
Also, the administrator can search and view any user&#039;s task.&lt;br /&gt;
&lt;br /&gt;
==The Vehicles Tab==&lt;br /&gt;
An administrator can do quite a many things in this view. Illustration 33 shows an example of this view. The table header along with the buttons “Edit Description” and “Get Log Files” are explained in the page for &#039;&#039;&#039;[[Vehicles]]&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
At the bottom you have a set of buttons to aid in handling the WCUs. To add a new WCU to the portal, the “New” buttons opens up a dialog for that. The “Get Log Files” button fetches log files for the selected WCU from the portal.&lt;br /&gt;
&lt;br /&gt;
[[File:42vehiclestab.png|none|left|frame|Illustration 33: The administrator&#039;s view in the WCUs tab.]]&lt;br /&gt;
&lt;br /&gt;
===The New WCU Dialog===&lt;br /&gt;
[[File:Illustration34.png|frame|Illustration 34: The Add New WCU Dialog.]]&lt;br /&gt;
There are two ways that a WCU can enter the portal. The first is if you click the “New WCU” button and the second is the first time a WCU connects to the portal it registers itself. Ideally you will never have to add a WCU to the portal but just as a safety step you have the opportunity to add it yourself. When clicking the “New WCU” button the dialog in Illustration 34 opens up. You must enter the ID of the WCU as this is a unique identifier and you will be notified if the ID is already present on the portal. The description is optional but may be handy to remember which WCU it is.&lt;br /&gt;
&lt;br /&gt;
===Edit the WCU Configuration===&lt;br /&gt;
[[File:Wcu config1.png|150px|thumb|frame|Illustration: Modules.]]&lt;br /&gt;
[[File:Wcu config2.png|150px|thumb|frame|Illustration: Connection.]]&lt;br /&gt;
[[File:Wcu config3.png|150px|thumb|frame|Illustration: WCU.]]&lt;br /&gt;
[[File:Wcu config4.png|150px|thumb|frame|Illustration: Power management.]]&lt;br /&gt;
[[File:Wcu_config_wake_on_can.png|150px|thumb|frame|Illustration: Wake On CAN]]&lt;br /&gt;
[[File:Wcu config5.png|150px|thumb|frame|Illustration: Upload.]]&lt;br /&gt;
You can edit the configuration of the WCU from the portal. Simply click on &#039;&#039;&#039;Edit Configuration&#039;&#039;&#039; to open up the window in &amp;quot;Illustration: WCU Configuration: Modules&amp;quot;. The WCU configuration window is divided into five tabs where each tab is described below.  &lt;br /&gt;
&lt;br /&gt;
====Modules====&lt;br /&gt;
The set of check boxes for the different modules that are present is nine and are at the top. Check or uncheck these to tell the WCU if they are present or not. Doing so will speed up the boot process.&lt;br /&gt;
&lt;br /&gt;
To edit &amp;quot;Car type&amp;quot;, click on the field where the car type is the displayed to open the &amp;quot;Edit car&amp;quot; dialog. This dialog is described in section [[The_Portal_Administrator_View#The_Edit_Car_Dialog]]&lt;br /&gt;
&lt;br /&gt;
The last three check boxes, &amp;quot;Run IDC at boot&amp;quot;, &amp;quot;Run IDC at ignition off&amp;quot; and &amp;quot;Enable VIN reader&amp;quot; is self-explanatory.&lt;br /&gt;
&lt;br /&gt;
====Connection====&lt;br /&gt;
This tab can be seen in &amp;quot;Illustration: Connection&amp;quot; and the tab content is described in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Internet Service Provider (ISP)&lt;br /&gt;
| Which ISP to use when multiple SIM cards are installed&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | WICE portal address&lt;br /&gt;
| The server that the WCU should use for fetching new assignments etc.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | DRO Server&lt;br /&gt;
| The server to connect to when doing a DRO.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====WCU====&lt;br /&gt;
This tab can be seen in &amp;quot;Illustration: WCU&amp;quot; and the tab content is described in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Unit ID:&lt;br /&gt;
| The ID cannot be changed from the portal. It can only be changed by logging on to the WCU.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Platform type:&lt;br /&gt;
| The WCU platform type.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Platform subtype:&lt;br /&gt;
| The WCU platform subtype.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | WCU software version:&lt;br /&gt;
| This is the currenly used WCU software version.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Preferred WCU software:&lt;br /&gt;
| This is the new preferred WCU software version to be installed.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Perform reset on update:&lt;br /&gt;
| Removes all data on the WCU when installing a new WCU software.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | MX4 firmware version:&lt;br /&gt;
| The currently used MX4 firmware version.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Preferred MX4 firmware:&lt;br /&gt;
| The new preferred MX4 firmware.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
From version 2.40 of the WCU software, all WCUs report its platform type. The platform type determines, among other things, the number of available CAN buses in the IO tab. (see [[I/O configurations]]) Since a resource group is a collection of WCUs it has no platform type of its own to report. From version 2.41 of the portal the user has the option to set a fictive platform type for a resource group. This is also a prerequisite to also set the [[I/O configurations]] for a resource group. The platform type (and eventual subtype) is set in the WCU tab. If the resource group has members with other platform type(s) than the type that is about to be set, the user will get a warning.&lt;br /&gt;
&lt;br /&gt;
If the platform type of the resource group differs from the platform type of its members the I/O tab will be disabled. This is also the case when the platform type of the resource group and one member is the same but another member has another platform type.&lt;br /&gt;
&lt;br /&gt;
From version 2.42 it is possible to update the WCU root password. To update the password, write the new password in &amp;quot;Set root password&amp;quot; and save the configuration.&lt;br /&gt;
&lt;br /&gt;
====Power Management====&lt;br /&gt;
[[File:Periodic wake up time.png|thumb|frame|Illustration: Perodic wake-up]]&lt;br /&gt;
This tab can be seen in &amp;quot;Illustration: Power management &amp;quot; and the tab content is described below.&lt;br /&gt;
&lt;br /&gt;
“Power mode” has two settings, Sleep and cut-off. In cut-off the MCD-Hub is not powered up on boot, nor is the WCU woken up at regular intervals to report battery voltage, GPS position etc.&lt;br /&gt;
&lt;br /&gt;
In the other mode, sleep, some more settings are visible as shown in &amp;quot;Illustration: Wake On Can&amp;quot;. &lt;br /&gt;
You can select the WCU to remain unpowered by selecting &amp;quot;External cut-off&amp;quot;. In addition, you may enable the WCus wake-up functionality. This function is simply made up of a cycle time called “Periodic wake-up time” and the corresponding “Periodic run-time”. The “Periodic run-time” determines how long time the WCU should be awake before going back to sleep. The “Periodic wake-up time” indicates the time for each new wake up cycle.&lt;br /&gt;
&lt;br /&gt;
From version 2.43 it is also possible to set power mode to &amp;quot;deep sleep&amp;quot; for WCUs running on platform MX4 T20/T30 and MX4 V61. The configuration is the same as for mode &amp;quot;sleep&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example: &#039;&#039;&#039; &lt;br /&gt;
A periodic run-time of 600 seconds means that the WCU will be alive for 600 seconds (10 minutes). A periodic wake-up time of 3600 seconds means that the WCU will start a new run-time (600 seconds in this case) every new hour. (3600 seconds = 60 min). The sleep time in each cycle is, for the general case, the wake-up time minus the run-time and in this example 3600 minus 600 = 3000 seconds (50 min).&lt;br /&gt;
This example is illustrated in illustration &amp;quot;Perodic wake-up.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--You can select the MCD-Hub to remain unpowered by selecting &amp;quot;MCD-hub cut-off&amp;quot;. In addition, you may enable the WCUs wake-up functionality. This function is simply made up of a cycle time called “Periodic wake-up time” and the corresponding “Periodic run-time” which indicates for how long I should be awake before going to sleep. The committo platform has some limits on the two settings and those are: minimum time to set between wake-ups is 10 minutes and the maximum time is 12 hours.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Upload====&lt;br /&gt;
This tab can be seen in &amp;quot;Illustration: Upload&amp;quot; and the tab content is described in the table below.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Mobile upload limit&lt;br /&gt;
| Defines the maximum data size that should be transferred via the mobile network. If the data size is larger than that the WCU will wait until a connection to a local network can be established. The size is in Mbytes.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Post run grace timeout&lt;br /&gt;
| The number of seconds to wait before communicating with the MCD-Hub and portal, if the ignition is turned off.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Upload timeout&lt;br /&gt;
| The maximum number of seconds the WCU should upload data before stopping.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Erase error code&lt;br /&gt;
| If turned on the error codes in the car will be reset.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Upload data at boot&lt;br /&gt;
| Uploads data when the WCU boots up&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | Upload data at ignition off&lt;br /&gt;
| Uploads data when the car is turned off&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;150px&amp;quot; mode=&amp;quot;nolines&amp;quot;&amp;gt;&lt;br /&gt;
File:Wcu config1.png|Illustration: Modules.&lt;br /&gt;
File:Wcu config2.png|Illustration: Connection.&lt;br /&gt;
File:Wcu config3.png|Illustration: WCU.&lt;br /&gt;
File:Wcu config4.png|Illustration: Power Management.&lt;br /&gt;
File:Wcu_config_wake_on_can.png|Illustration: Wake On CAN&lt;br /&gt;
File:Wcu config5.png|Illustration: Upload.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
Version &amp;gt;= 2.41 of the portal has a new tab named I/O. You can read more about in [[I/O_configurations]].&lt;br /&gt;
&lt;br /&gt;
===The Edit Car Dialog===&lt;br /&gt;
[[File:Illustration37.png|frame|Illustration 37: Edit Car]]&lt;br /&gt;
&lt;br /&gt;
To edit the information about a car, press the “Edit Car” button. The dialog in Illustration 37 opens up.&lt;br /&gt;
The entry you can not edit is the VIN entry. If you need to edit that you must instead create a new car.&lt;br /&gt;
In order for the portal to be able to translate error codes into a human readable format, you must choose a diagnostic DB file to be used. It is important to select the correct one as the diagnostic error codes read out might be translated incorrectly or more probable, not at all. It is also important to select the right type of car using “Car type”. This controls the number of CAN buses and speeds and the number of Ethernet networks, if any, in the car. The “Active” check box controls whether the car should show up in tables and searches in general concerning cars. A car can never be removed as it has probably been involved in measurements but to recall an inactivated car you must actively select to view inactivated cars.&lt;br /&gt;
&lt;br /&gt;
It is possible to update several cars at once by selecting multiple cars and then press the “Edit Car” button. By doing this you can selectively make changes to attributes of all the selected cars at once. To do this, the dialog is extended as one can be seen in Illustration 38 below.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration38.png|frame|Illustration 38: Edit Car|center]]&lt;br /&gt;
&lt;br /&gt;
===Upload a Car Import File===&lt;br /&gt;
It is possible to import a file that describes a set of cars. It can consist of both new cars and cars already in the database but that might need to be updated with new information.&lt;br /&gt;
A car import file consists of a comma separated file where each line describes a car. The first line of the file must look as follows:&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;VIN,regNr,description,project,protoNumber,tsu,series&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
There are seven attributes currently. When uploading the file you have a choice of modifying existing cars on the portal. If you do not check this box and there are cars that already exists, the import will fail.&lt;br /&gt;
&lt;br /&gt;
=== Show or export SIM card ID ===&lt;br /&gt;
The SIM card ID for a single WCU can be seen when right-clicking on a WCU in the Vehicles tab and selecting &amp;quot;Show info&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
SIM card ID&#039;s for one or multiple WCUs can also be exported as a csv file. Select the WCUs you are interested in (in the Vehicles tab) and press the button &amp;quot;Export SIM card info&amp;quot; located in the bottom row below the Vehicles grid. The downloaded file will contain five columns: WCU ID, WCU Name, RegNr (Plate nr), VIN and SIM Card ID. &lt;br /&gt;
&lt;br /&gt;
=== Upload WCU file ===&lt;br /&gt;
The WCU attributes &#039;WCU Name&#039; and &#039;WCU Comment&#039; can from version 2.43 of the portal be updated for multiple WCUs via a comma separated txt/xls/xlsx file. Click the &amp;quot;Upload WCU File&amp;quot; button to open up the import file to upload dialog.&lt;br /&gt;
&lt;br /&gt;
The uploaded file has the following requirements:&lt;br /&gt;
* The file must have two mandatory columns with the names &#039;WCU ID&#039; and &#039;WCU Name&#039;.&lt;br /&gt;
* Furthermore, an optional column named &#039;Comments&#039; can be added. &lt;br /&gt;
* The columns should be in said order.&lt;br /&gt;
* The amount of columns on each row must match the amount of columns in the header. &lt;br /&gt;
* The columns should be separated by using tab or by a comma.&lt;br /&gt;
If there is a &#039;Comment&#039; column and a blank comment on a row then the old comment, if any, for the specific WCU will be kept. &lt;br /&gt;
&lt;br /&gt;
To remove a comment from a WCU simply check the checkbox for erasing comments. Doing so will result in that empty comments in the uploaded file will erase current comments.&lt;br /&gt;
&lt;br /&gt;
==Resource Groups==&lt;br /&gt;
As described above in [[Vehicles#Resource Groups]], you can define a set of resource groups in order to easily handle large groups of resources collectively. An example is if you have 100&lt;br /&gt;
WCUs in such a resource group and you would like to edit the configuration for all WCUs. Instead of having to open the configuration for each individual WCU, you simply open the configuration for the resource group, do your edits and when you press save, the configuration&lt;br /&gt;
will be saved to all WCUs in one go. The resource groups are created in another panel which&lt;br /&gt;
will be described later.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration39.png|frame|Illustration 39: Adding resources to a group.|left]]&lt;br /&gt;
To add resources to a resource group you start by selecting the resources you are interested to add to a resource group. Resources already added to a resource group will render the corresponding add button disabled.&lt;br /&gt;
&lt;br /&gt;
When you are satisfied with your selection you press either the button “Add WCU(s) to resource group” or “Add car(s) to resource group”. Pressing any of those buttons will show the dialog to the left. The group box will list the available groups. If you know the name of the resource group you can type the name and as you type the box will show names that fit what you type.&lt;br /&gt;
&lt;br /&gt;
The three check boxes requires a deeper discussion of what the mean. Assume you have a resource group that has been used for some time. A new WCU enters the portal and you would like to add that WCU to your group. A common situation is that you would like that WCU to be configured that same way as the rest of the WCUs in the resource group. This is accomplished by checking “Update WCU configuration”. If this requires an update of the WCUs software it will automatically be taken care of. Also, a WCU comes configured with a set of modules. Usually you will probably want to update the module configurations as well but in case you wish not to, simply uncheck that check box. There are also situations where there are no module configurations for some modules and if you press “Add” you will be prompted about that. If you for some reason do care about that you can check the “Ignore non existent tools and configurations” check box.&lt;br /&gt;
&lt;br /&gt;
==Modules for the WCU==&lt;br /&gt;
A WCU can have a number of modules attached. This makes it possible to add new peripherals to the WCU for handling various tasks in acquiring measured data from a car. The nine types of modules are:&lt;br /&gt;
# MCD-Hub&lt;br /&gt;
# Canrecorder&lt;br /&gt;
# GPS&lt;br /&gt;
# IDC (Internal Diagnostic Client)&lt;br /&gt;
# Uptime&lt;br /&gt;
# State of Health&lt;br /&gt;
# Signal Reader&lt;br /&gt;
# RFE (Road Friction Estimation)&lt;br /&gt;
# Blue piraT&lt;br /&gt;
&lt;br /&gt;
To deal with each tool&#039;s configuration a new view is presented below. To open this view, press the button “Modules” as shown in Illustration 33 on [[#The Vehicles Tab]].&lt;br /&gt;
In the illustration above there are a set of tools present. Each type is grouped on the left side using a stack panel. Select the connected MCD-Hubs by selecting the MCD-Hub stack and select (click) the Canrecorder stack to see the canrecorders connected a so fourth.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration40.png|frame|Illustration 40: View for handling tool configurations.|center]]&lt;br /&gt;
Each tool has its own entry in each of the stacks. In Illustration 40 above there is only one MCD-Hub present and it is “0”. Each tool is recognized with a tool ID which is set by the WCU. This ID is usually not descriptive and therefore you have the possibility to set a name of your likings. Change the name by pressing the button “Edit name”. You can also add a description to the tool that shows up as a “tool tip” when hovering over the name of the selected tool. Analogously, change the description by pressing the button “Edit tool description”. To reload the set of available tools for both MCD-Hub and Canrecorder, press the “Reload tools” button.&lt;br /&gt;
&lt;br /&gt;
===Configure the MCD-Hub Module===&lt;br /&gt;
The configuration for the MCD-Hub has only two settings. The first is the MCD-Hubs IP address and the second is the preferred firmware version. The other two configuration settings shown in Illustration 40 is “MCD-Hub firmware version” which shows the current version used by the hub and the second is “Last configuration update date” which states when the MCD-Hubs current configuration was brought into action.&lt;br /&gt;
When you are done with your configuration you save it by pressing the “Save” button. If you for any reason need to reload the configuration, press the “Reload” button.&lt;br /&gt;
&lt;br /&gt;
===Configure the Canrecorder Module===&lt;br /&gt;
The configuration for the Canrecorder is shown in Illustration 41 below. There are four fields of which two are editable. In order for the canrecorder to work you need to set the high- and low speed CAN bus. The update date says when the last configuration was enabled and the canrecorder version says which version of the canrecorder software is used.&lt;br /&gt;
[[File:Illustration41.png|frame|Illustration 41: Configuration options for Canrecorder.|center]]&lt;br /&gt;
&lt;br /&gt;
===Configure the GPS Module===&lt;br /&gt;
There are four settings involved:&lt;br /&gt;
&lt;br /&gt;
# Enable GPS. Sets whether the GPS should be enabled or not. If you disable the GPS all the other settings will also be disabled.&lt;br /&gt;
# GPS sampling interval. Sets the position sampling interval in seconds.&lt;br /&gt;
# GPS monitor enabled. If this setting is enabled the WCU will continuously send its GPS position to the portal enabling real-time monitoring of the whereabouts of the WCU.&lt;br /&gt;
# GPS monitor interval. Set how often the position will be updated. The interval is in seconds.&lt;br /&gt;
&lt;br /&gt;
===Configure the IDC Module===&lt;br /&gt;
[[File:Illustration42.png|frame|Illustration 42: Settings for the Internal Diagnostic Client (IDC).|center]]&lt;br /&gt;
The IDC can be configured with which bus to communicate on given its assignment. You can actually even choose both where it will first try the Ethernet network (ETH), if it exists, and the CAN bus. If the car type in question does not have an Ethernet network, only the CAN option will appear.&lt;br /&gt;
&lt;br /&gt;
===Configure the Up-time Module===&lt;br /&gt;
[[File:Illustration43.png|frame|Illustration 43: Settings for the Up-time module.|right]]&lt;br /&gt;
The module is used to report how much and how long the WCU is running. First of all you can enable/disable the functionality all together with the “Enabled” check box. Next is how often the up-time should be logged in seconds. The second check box, “Monitor enabled” is used when you would like the module to report its up-time in real-time and the interval for that, also in seconds.&lt;br /&gt;
&lt;br /&gt;
===Configure the State of Health Module===&lt;br /&gt;
The state of health model has the same settings as the IDC module above.&lt;br /&gt;
&lt;br /&gt;
===Configure the Signal Reader Module===&lt;br /&gt;
As of version 2.33 of the WCU software it is possible to monitor signals in real time.&lt;br /&gt;
For this to happen you must enable the feature by checking the box “Enable monitor”. It is currently set at an update rate of once every second.&lt;br /&gt;
&lt;br /&gt;
===Configure the RP Module===&lt;br /&gt;
From version 2.35 of the portal there is a possibility to upload up to three files to configure the RP module. The three files are:&lt;br /&gt;
# Configuration file&lt;br /&gt;
# Certificate file&lt;br /&gt;
# Binary file&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration44.png|frame|Illustration 44: Settings for the RP module.|center]]&lt;br /&gt;
&lt;br /&gt;
=== Configure the Blue piraT Module ===&lt;br /&gt;
As of version 2.44 of the WICE portal it is possible to create blue piraT assignments. The blue piraT tool only has one configuration, the debug level, which determines the level of logging during the execution of the blue piraT assignments.&lt;br /&gt;
&lt;br /&gt;
==The Administration Tab==&lt;br /&gt;
This tab is a collection of the administrative tasks available in the portal. These are “Connect car to WCU”, “Archives”, “GDS/SDDB file”, “Resource Groups” and “Users”.&lt;br /&gt;
&lt;br /&gt;
===Connect Car to WCU tab===&lt;br /&gt;
To archive which car a specific WCU was in at the time an assignment was run can be done by connecting a car to a WCU in this tab. This is usually done automatically but in some situations it is necessary to do this manually&lt;br /&gt;
&lt;br /&gt;
The area is divided into two tables, one for searching WCUs, the left one, and one for searching cars, the right one. When you start typing the name of the WCU you are looking for in the upper left corner just above the table, matching WCUs appear in the left table. To find the car you are looking for, you do the same in the right table but here you have the option of using either the VIN or plate number.&lt;br /&gt;
&lt;br /&gt;
To connect a WCU with a car you drag the WCU you would like to connect onto the car in the right table. When you drop it onto a car a small icon will show signifying that the WCU and car are connected. &lt;br /&gt;
&lt;br /&gt;
From version 2.42 it is also possible to select a WCU and a Car and then click on the new &amp;quot;Connect&amp;quot; button located between the two grids.&lt;br /&gt;
&lt;br /&gt;
To disconnect a WCU and car you simply press the icon for wither of the WCU or car.&lt;br /&gt;
See Illustration 45 below for an example.&lt;br /&gt;
&lt;br /&gt;
The connection is a sort of instantaneous carbon copy of the situation at the time that a task was created. If you later change the connection, already running/run tasks will not be affected.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration45.png|frame|Illustration 45: The connect Car to WCU tab.|center]]&lt;br /&gt;
&lt;br /&gt;
===The User Administration Tab===&lt;br /&gt;
The basic layout of the areas is just the same here as before. At the top you have a search area, in the middle is a result are and at the bottom are a set of buttons. The tab with a set of example users is in Illustration 46 below.&lt;br /&gt;
The eight columns are:&lt;br /&gt;
[[File:Illustration46.png|frame|none|left|Illustration 46: The user administration tab.]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;User ID&#039;&#039;&#039;. The unique ID that the user must enter when logging in.&lt;br /&gt;
* &#039;&#039;&#039;Name&#039;&#039;&#039;. The name of the user.&lt;br /&gt;
* &#039;&#039;&#039;Roles&#039;&#039;&#039;. Depending on which roles the user has to, he/she have different privileges. The roles are non-overlapping, i.e. being an “Admin” does not necessarily mean that you can do everything a “User” can do.&lt;br /&gt;
* &#039;&#039;&#039;Enabled&#039;&#039;&#039;. Tells whether the account is enabled or not.&lt;br /&gt;
* &#039;&#039;&#039;Email Address&#039;&#039;&#039;. By registering an email address a user can receive notifications via email from a WCU when certain event occurs.&lt;br /&gt;
* &#039;&#039;&#039;Last login date&#039;&#039;&#039;. The date when the user last logged in.&lt;br /&gt;
* &#039;&#039;&#039;Two factor auth&#039;&#039;&#039;. Whether the two-factor authentication is turned on for a particular user.&lt;br /&gt;
* &#039;&#039;&#039;Logged in&#039;&#039;&#039;. You can see if the user is currently logged in.&lt;br /&gt;
&lt;br /&gt;
At the bottom there are eight buttons. They are:&lt;br /&gt;
# The “New” button brings up the “New User” dialog which adds a new user to the portal&lt;br /&gt;
# The “Edit” button brings up the “Edit User” dialog&lt;br /&gt;
# The “Change Password” button brings up a dialog to change a user&#039;s password.&lt;br /&gt;
# The “Create new secret” button. Pressing this generates a new cryptographic salt to be used when generating one-time passwords. If you do this for a user without enabling the possibility to see the secret on the next login, renders the user unable to login to the portal. No dialog is opened, simply a message saying that a new one has been generated is shown.&lt;br /&gt;
# The “Show secret” button. Shows a dialog with the cryptographic salt shown in clear text as well as the QR-code, more on this later.&lt;br /&gt;
# Edit roles and permissions&lt;br /&gt;
# The “Save headers” button. Saves the headers and their order to be used as default on later logins.&lt;br /&gt;
# Video. Start a video conversations with another user of the portal. You must have the software “Confero” installed for this to work.&lt;br /&gt;
&lt;br /&gt;
====The New User Dialog====&lt;br /&gt;
[[File:Illustration47.png|frame|Illustration 47: The New User Dialog]]&lt;br /&gt;
By pressing the “New User” button the dialog in Illustration 47 below appears. Mandatory fields are User ID and the two password fields. Remember that the User ID must be unique and you will be notified if it is not. Click the “Add” button to add the user or change you mind by clicking “Cancel”.&lt;br /&gt;
&lt;br /&gt;
====The Edit User Dialog====&lt;br /&gt;
You can at any time modify a user by pressing the “Modify” button to bring up the dialog in Illustration 48 below. The User ID cannot be changed. A disabled account can not be used for logging onto the portal even if the correct user name and password are given. To modify the user roles, select or deselect a role by using the check boxes. To turn on two-factor authentication for a user, check the appropriate box. When you are satisfied with your modifications, press the “Save” button to make them permanent on the portal or press the “Cancel” button if you change your mind.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration48.png|thumb|frame|Illustration 48: The modify user dialog.]]&lt;br /&gt;
&lt;br /&gt;
To enable two factor authentication, tick the check box “Enable two factor authentication”. This will force the user to add another special one time password in addition to the account password when logging into the portal. The one time password is generated by a program on either your computer or if you want to you can install it on your smart phone which is probably the best solution. The program that generates one time password is based on a cryptographic salt and the current time. The cryptographic salt is randomly generated by the portal and is individual for each user. A secret can at any time be regenerated for a user which will render the user unable to login if you do not tick the check box “Show the secret to the user on their next login”.&lt;br /&gt;
&lt;br /&gt;
====The Change Password Dialog====&lt;br /&gt;
[[File:Illustration49.png|thumb|frame|Illustration 49: The change password dialog.]]&lt;br /&gt;
To change a user&#039;s password, press the “Change Password” button and the dialog in X Y will appear. It is pretty straight forward as you type in the new password in the “New password” entry and you need to confirm it by typing it again in the entry below it. If you are satisfied, click the “Change” button or the “Cancel” button if you decide not to change the password.&lt;br /&gt;
&lt;br /&gt;
====The Show Secret Window====&lt;br /&gt;
[[File:Illustration50.png|thumb|frame|Illustration 50: The QR-code window]]&lt;br /&gt;
A QR-code is shown that can be transferred to a smart phone by simply starting the authenticator app, point it at the screen and let the phone read the QR-code. An example of such a QR-code can be seen in Illustration 50. If the application that is to be used as a password generator do not support QR codes, the secret is shown in clear text at the top.&lt;br /&gt;
&lt;br /&gt;
{{: Roles and permissions}}&lt;br /&gt;
===The GDS/SDDB File Tab===&lt;br /&gt;
In order for the portal to be able to translate error codes into a human readable format, a GDS or SDDB file must be selected for a vehicle. The set of GDS/SDDB files to choose from is administered in this tab, see Illustration 56 below. &lt;br /&gt;
[[File:Illustration53.png|left|frame|Illustration 56: The GDS/SDDB file view.]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
To upload a new GDS/SDDB file, press upload new file and you will be presented with dialog where you select the file, sets an optional name (if no name is entered, the file name is used) and an optional comment. To upload a new file for an existing entry, press the edit file button and you will be presented with a dialog where you can upload a new file. To edit the comment or the name that should show up when select which GDS/SDDB file to use for a vehicle, simply double click the cell and edit directly in the table.&lt;br /&gt;
&lt;br /&gt;
===The Resource Groups Tab===&lt;br /&gt;
This tab is used to administer some parts of the creation and destruction of resource groups and more. The panel for administering the resource groups is depicted in Illustration 57, below. &lt;br /&gt;
[[File:Illustration54.png|left|frame|Illustration 57: The resource groups panel.]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
At the top is a search field to search for resource groups. Next are two tables, side by side. The left table lists the resource groups found depending on your search criteria. When a resource group is selected, the resources that are part of the resource group are shown in the right table. Next, the functionality of the buttons will be covered.&lt;br /&gt;
&lt;br /&gt;
====Add and Remove Resource Groups====&lt;br /&gt;
[[File:Illustration55.png|thumb|Illustration 58: Add resource group dialog.]]&lt;br /&gt;
To add a resource group you simply press the “New resource group” button and the following window will show. Type the name for the new resource and press “Create”. If you change your mind, press the “Cancel” button. Resource groups are global and writable and that means that names must be unique. The reason for this is that a resource group name takes on the form as both the resources car and WCU and those must be unique and therefore the resource groups must also be unique. One can, however, imagine situations where this must not be enforced but at the moment this is the case.&lt;br /&gt;
&lt;br /&gt;
To remove a resource group, press the “Remove resource group” button. Be aware that no warning is given if there are resources in the group when removing it.&lt;br /&gt;
&lt;br /&gt;
====Manipulating Resources in a Resource Group====&lt;br /&gt;
In the right hand table in Illustration 59 below, you see a set of resources for a resource group. &lt;br /&gt;
[[File:Illustration56.png|left|frame|Illustration 59: Manipulating resources in a resource group.]]&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
Here are both WCUs and cars part of the group. In addition to the type there is a column named “Synchronized”. That column only applies to WCUs. The use of this column is as follows. Assume you have a resource group consisting of 50 WCUs. Further, lets make a configuration change to that resource group. Depending on where the WCUs geographically are and how they are used the WCUs will be updated at different times. How do you you know when all WCUs are up to date in the resource group? You could check them individually in the “Vehicles” panel but that is not very elegant and time saving. Instead, just watch the “Synchronized” column for the WCUs. When a WCU is up to date with respect to the group configuration the column will read “true”. The value is updated each 30 seconds.&lt;br /&gt;
&lt;br /&gt;
You can remove individual resources from a group by selecting the resource and then press the “Remove resource” button.&lt;br /&gt;
&lt;br /&gt;
Yet another button remains and it is the button “Base Group on Resource”. When you add a WCU to a resource group in the “Vehicles” panel you have the option of not updating the WCU configuration to match the one of the resource group&#039;s, see Illustration 39 in [[#Resource Groups]]. Using this function it is possible to base the whole group on a WCU&#039;s configuration rather than the group&#039;s configuration.&lt;br /&gt;
&lt;br /&gt;
===The WCU Status Tab===&lt;br /&gt;
This view is supposed to be used as for supervising a set of vehicles. The supervision done in real time and the values for the set of vehicles are updated as soon as they arrive on the server from the different vehicles.&lt;br /&gt;
&lt;br /&gt;
The set of status information collected comprises three parts:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;General information:&#039;&#039;&#039;&lt;br /&gt;
* Alive, a heart beat signal&lt;br /&gt;
* Connectivity, what data rates are currently available to the vehicle.&lt;br /&gt;
** 3G&lt;br /&gt;
** 2G&lt;br /&gt;
** none&lt;br /&gt;
* Cell Signal Quality (CSQ). Indicates the signal strength of the mobile modem. The values are between 0 – 31, the higher the value the better. The special value of 99 is designated an unknown or not even detectable signal.&lt;br /&gt;
* GPS, simply a binary indicator of fix or no fix for the GPS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Storage Usage:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
This set of data informs how much collected data resides in the WCU for each type of data collector (module). Total data indicates how much of the total amount of data storage available is used. After that, each type of data collector is lined up.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Data Collection Status:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
When modules collect data they go through a set of states when triggers starts, stops and other events occur. Currently, only such events for the signal reader module is available. An optional message accompanying the current state is shown in parenthesis.&lt;br /&gt;
&lt;br /&gt;
The screen is divided in two parts, on the left hand side is a table with search functionality for finding the vehicles of interest and on the right hand side is the monitored vehicles. To monitor a vehicles you search for it in the table and then drag and drop the vehicle on the right hand panel.&lt;br /&gt;
&lt;br /&gt;
A view of the panel is depicted in Illustration 60 below.&lt;br /&gt;
[[File:Illustration57.png|left|frame|Illustration 60: The WCU Status tab.]]&lt;/div&gt;</summary>
		<author><name>Max.h.petersson</name></author>
	</entry>
	<entry>
		<id>https://wiki.alkit.se/wice295/index.php?title=Vehicles&amp;diff=602</id>
		<title>Vehicles</title>
		<link rel="alternate" type="text/html" href="https://wiki.alkit.se/wice295/index.php?title=Vehicles&amp;diff=602"/>
		<updated>2017-06-22T08:39:13Z</updated>

		<summary type="html">&lt;p&gt;Max.h.petersson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;=Vehicles Tab=&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
This view is used to handle the various vehicles that are assigned to you. A figure of this view&lt;br /&gt;
is presented below in Illustration 26. At the top, the red section, is a search area where you&lt;br /&gt;
type in the criteria to be used for fetching the vehicles you are interested in. As you enter your&lt;br /&gt;
criteria a row count is presented in the upper right area to show how many potential matches&lt;br /&gt;
there are. The entries are also fetched as you type but only as many rows as fit your current&lt;br /&gt;
view are fetched. As you scroll down more results will be fetched.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration26.png]]&lt;br /&gt;
&lt;br /&gt;
The number of possible columns to show is quite large, 24. The columns shown below are in&lt;br /&gt;
default order. You will have to account for any changes you have made your self. The columns&lt;br /&gt;
are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;WCU_ID&amp;quot;&amp;gt;WCU ID&amp;lt;/span&amp;gt;&lt;br /&gt;
| The ID of the WCU. An example is MM-320:1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;WCU_Description&amp;quot;&amp;gt;WCU Description&amp;lt;/span&amp;gt;&lt;br /&gt;
| A textual comment attached to the WCU.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Last_DRO&amp;quot;&amp;gt;Last DRO&amp;lt;/span&amp;gt;&lt;br /&gt;
| Says when the DRO log file was last transferred to the portal.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Last_log&amp;quot;&amp;gt;Last log&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows when the last log file was transferred to the portal.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Upload_size&amp;quot;&amp;gt;Upload size&amp;lt;/span&amp;gt;&lt;br /&gt;
| Says what the size, in k bytes, of the last data upload was.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Upload_date&amp;quot;&amp;gt;Upload date&amp;lt;/span&amp;gt;&lt;br /&gt;
| Contains which date the last upload was done&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Upload&amp;quot;&amp;gt;Upload&amp;lt;/span&amp;gt;&lt;br /&gt;
| This column says how much data has been transferred from the WCU to the portal the last week.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Upload&amp;quot;&amp;gt;Upload&amp;lt;/span&amp;gt;Car&lt;br /&gt;
| The plate number of the car where the WCU is mounted.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Upload&amp;quot;&amp;gt;Upload&amp;lt;/span&amp;gt;VIN&lt;br /&gt;
| Shows the VIN of the car where WCU is mounted.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Upload&amp;quot;&amp;gt;Upload&amp;lt;/span&amp;gt;Voltage&lt;br /&gt;
| The column shows the latest known battery voltage as reported by the CEM.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Mileage&amp;quot;&amp;gt;Mileage&amp;lt;/span&amp;gt;&lt;br /&gt;
| The column shows the mileage of the car.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Up-time&amp;quot;&amp;gt;Up-time&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows how many hours the WCU been running the last week.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Distance&amp;quot;&amp;gt;Distance&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows how long the car has been driven the last week.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Project_Id&amp;quot;&amp;gt;Project Id&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows the project ID.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Proto_number&amp;quot;&amp;gt;Proto number&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows the proto number.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;TSU&amp;quot;&amp;gt;TSU&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows the TSU ID.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;WCU_Version&amp;quot;&amp;gt;WCU Version&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows which version the current WCU software has.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Connected&amp;quot;&amp;gt;Connected&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows how many minutes have passed since the WCU made a connection to the WICE portal.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;GDS/SDDB&amp;quot;&amp;gt;GDS/SDDB&amp;lt;/span&amp;gt;&lt;br /&gt;
| The name of the GDS/SDDB file used when parsing SoH assignment data.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;WCU_voltage&amp;quot;&amp;gt;WCU voltage&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows the voltage as measured by the WCU.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;WCU_storage_usage&amp;quot;&amp;gt;WCU storage usage&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows the amount of storage available to store data on the WCU.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold;&amp;quot; | &amp;lt;span id=&amp;quot;Series&amp;quot;&amp;gt;Series&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shows the series attribute.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;WCU name&#039;&#039;&#039;&lt;br /&gt;
|Shows the name of the WCU&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Resource group&#039;&#039;&#039;&lt;br /&gt;
|The resource group (if any) the WCU is part of.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Platform type&#039;&#039;&#039;&lt;br /&gt;
|Only from v2.44: Search WCU by platform type.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Now, as there are so many columns present you have the option of selecting which ones you would like to see by right-clicking on the table header. If you would like your selection to be remembered between sessions, click the “Save headers” button after you have selected your columns.&lt;br /&gt;
&lt;br /&gt;
There is a concept called “resource groups” you should be aware of in this panel. A resource group is simply a way to refer to a group of resources (WCU, Car) collectively. An example is when creating assignments you can select a resource group instead of the individual WCU:s to start a new assignment. Also, when showing the positions on a map, you select a resource group and press “Show position”, all WCU:s in that resource group will show. To see which resources are in a resource group you press the triangle to the left of the row and the row&lt;br /&gt;
opens up to show the individual members. To show the members in the view you can rightclick the entry and select the option “find members” from the menu.&lt;br /&gt;
&lt;br /&gt;
When selecting a row in the table the selected row changes to a blue shade. You can modify&lt;br /&gt;
the description of the WCU by clicking in the “Edit Description” button and enter a new description. You can search among the vehicles log files by clicking the “Get log files” button.&lt;br /&gt;
&lt;br /&gt;
==Show the WCU Position==&lt;br /&gt;
To see the last reported position of a vehicle, click the “Show Position” button which opens up a map view of where the vehicle was last known to be. You can view several vehicles simultaneously by ctrl- or shift-clicking the vehicles you are interested in. An example of the view is shown in Illustration 27 below. &lt;br /&gt;
&lt;br /&gt;
[[File:Illustration27.png|none|left|frame|Illustration 27: An example vehicle map view.]]&lt;br /&gt;
&lt;br /&gt;
To the right of the map view is a list of all the vehicles. Each vehicle is labeled with the license plate number and if you click on a vehicle entry on the right, an information pop-up will show for the vehicle. If you click on the marker of a vehicle, a new tab is opened in the browser that shows what Google Maps has to offer on that position.&lt;br /&gt;
Also, just moving the mouse pointer over a marker will make the pop-up show.&lt;br /&gt;
&lt;br /&gt;
Each vehicle is labeled with the license plate number and if you click on a vehicle entry on the right, an information pop-up will show for the vehicle. &lt;br /&gt;
If you click on the marker of a vehicle, a new tab is opened in the browser that shows what Google Maps has to offer on that position.&lt;br /&gt;
Also, just moving the mouse pointer over a marker will make the pop-up show.&lt;br /&gt;
&lt;br /&gt;
==View ECU software==&lt;br /&gt;
It is possible to see which ECUs are in the vehicle along with each ECUs software number.&lt;br /&gt;
Press the button “ECU SW” after you have selected one vehicle. The following view will be&lt;br /&gt;
shown. As you can see in Illustration 29 each ECUs software number is shown along with&lt;br /&gt;
when it was read. You can download the list as a tab-separated text file if you press “Download”.&lt;br /&gt;
&lt;br /&gt;
==View Trouble Codes==&lt;br /&gt;
If an SoH assignment has been enabled to do trouble code read-outs, you can view the trouble codes by selecting the vehicle you are interested in and push the button “View DTCs”. In Illustration 28 below you can see an example of trouble codes. There are three columns in the table. To the left is the ECU name, next when the trouble code was committed to the portal and lastly, the actual trouble code. &lt;br /&gt;
If you click in the column for the actual trouble code, a dialog opens with that particular trouble codes. You can extend the size of the dialog in order to examine the trouble codes in more detail.&lt;br /&gt;
You can also search the trouble codes as you can see at the top of Illustration 28.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration28.png|none|left|frame|Illustration 28: Viewing trouble codes.]]&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration29.png|none|left|frame|Illustration 29: ECU Software Versions.]]&lt;br /&gt;
&lt;br /&gt;
==Get WCU Up-time==&lt;br /&gt;
[[File:Wcu_uptime.png|frame|Illustration 30: WCU up-time dialog.]]&lt;br /&gt;
This function is used to get a compilation of the up-time of a set of vehicles during a particular time span. Select the WCUs you are interested in and the click the “Get WCU uptime” button. This brings up the dialog to the right.&lt;br /&gt;
&lt;br /&gt;
Choose the dates you are interested by choosing a start and end date. Next you have the option of downloading a CSV file, or excel file. The up-time in that file is listed as hours up-time per day per WCU.&lt;br /&gt;
The other option is to compile the up-time in a chart shown on screen. The up-time is averaged over the WCUs selected for each day. WCUs having no up-time at all are excluded from the compilation.&lt;br /&gt;
&lt;br /&gt;
From version 2.42 there is a new feature to display the WCUs uptime based on the data sent from statusd. More info in [[WCU Uptime]].&lt;br /&gt;
&lt;br /&gt;
==Export SoH Data==&lt;br /&gt;
[[File:Soh data export.png|frame|Illustration 31: The SoH data export panel.]]&lt;br /&gt;
You can export data from SoH assignments to your local computer by using the function&lt;br /&gt;
“Export SoH data”. Select the cars you are interested in as you can export for more than&lt;br /&gt;
one car in one export.&lt;br /&gt;
You select the dates you are interested in getting the data from. Check each item you are interested in. Currently you can select mileage, WCU voltage, ECU software versions, battery voltage and storage usage. &lt;br /&gt;
The file can be exported in CSV format (suitable for Excel and other spread sheet applications) och XML format.&lt;br /&gt;
&lt;br /&gt;
==Resource Groups==&lt;br /&gt;
WCUs and cars can collectively be referred to as resources. As such they can be grouped&lt;br /&gt;
together and be handled collectively in order to ease the administration of a set of similar individuals. A resource group can consist of both cars and WCUs but usually only&lt;br /&gt;
one type of resource is in a resource group.&lt;br /&gt;
&lt;br /&gt;
You identify a resource group by a gray arrow like icon to the left in the table row. If you&lt;br /&gt;
click the icon the entry opens up and makes room for showing which resources are part&lt;br /&gt;
of the resource group.&lt;br /&gt;
&lt;br /&gt;
From version 2.42 the showing of the resource group&#039;s resources has been improved. More info can be found in [[Resource group&#039;s resources]].&lt;br /&gt;
&lt;br /&gt;
When a new task is created any resource groups assigned to you will show up in addition to individual WCUs. There is, however, no indication as to the particular entry is a&lt;br /&gt;
resource group or not. If you select a resource group, the new assignment will be downloaded to all the WCUs that are part of the resource group.&lt;br /&gt;
As a regular user you can not create and remove resource groups, only an administrator&lt;br /&gt;
of the portal can do this.&lt;br /&gt;
&lt;br /&gt;
From version 2.42 of the portal it is easier to search out members of resource groups using the &amp;quot;Resource group&amp;quot; column. When searching in this column one will get results that either matches the name of a resource group WCU or WCUs that are part of a resource group that matches the search criteria. In other words, if we search for &amp;quot;ABCD&amp;quot; we will get the resource group &amp;quot;ABCD&amp;quot; together with all WCUs that are part of the &amp;quot;ABCD&amp;quot; group.&lt;br /&gt;
&lt;br /&gt;
This column can also be used to list all WCUs that are not part of any resource group. To perform this search, put &amp;quot;^$&amp;quot; in the &amp;quot;Resource group&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
==Modules==&lt;br /&gt;
If you have the right permission you might be able to view a WCU:s modules or even&lt;br /&gt;
edit them. A module is a functionality of the WCU. Currently the functionalities are:&lt;br /&gt;
* MCD-Hub&lt;br /&gt;
* Canrecorder&lt;br /&gt;
* GPS&lt;br /&gt;
* IDC&lt;br /&gt;
* Uptime&lt;br /&gt;
* State of Health&lt;br /&gt;
* Signal Reader&lt;br /&gt;
* ETAS&lt;br /&gt;
* SoftHub&lt;br /&gt;
* Rapid Prototyping (RP)&lt;br /&gt;
* Blue piraT&lt;/div&gt;</summary>
		<author><name>Max.h.petersson</name></author>
	</entry>
	<entry>
		<id>https://wiki.alkit.se/wice295/index.php?title=Search_Tab&amp;diff=601</id>
		<title>Search Tab</title>
		<link rel="alternate" type="text/html" href="https://wiki.alkit.se/wice295/index.php?title=Search_Tab&amp;diff=601"/>
		<updated>2017-06-22T08:38:36Z</updated>

		<summary type="html">&lt;p&gt;Max.h.petersson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;= Search Tab=&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
[[File:New search 1.png|thumb|The new Search tab]]&lt;br /&gt;
The &#039;Search&#039; tab makes it possible to search and download result files and log files without first search for a specific assignment. The tab is split into three portlets where each portlet can be expanded or minimized to make more space for the other windows.&lt;br /&gt;
&lt;br /&gt;
The portlets are Search, Results and Selected downloads where each one has its own section on this page.&lt;br /&gt;
&lt;br /&gt;
== Search ==&lt;br /&gt;
The search portlet is where constraints are added to the search query.&lt;br /&gt;
&lt;br /&gt;
=== Filename: ===&lt;br /&gt;
Filename can be full filename like &amp;quot;ABC_123.dat&amp;quot; or some regular expression that matches a part of a filename.&lt;br /&gt;
&lt;br /&gt;
=== Measurement date: ===&lt;br /&gt;
By default &#039;&#039;&#039;to&#039;&#039;&#039; is set to today&#039;s date and the time when the page last was refreshed and &#039;&#039;&#039;from &#039;&#039;&#039;is set to (&#039;&#039;&#039;to &#039;&#039;&#039;- 7 days).  &lt;br /&gt;
&lt;br /&gt;
=== WCUs: ===&lt;br /&gt;
This widget allows the user to filter WCUs on various search criteria. The default search criteria is &#039;WCU ID matches expression .*&#039; which means that we will search on every WCU the current logged in user has access to. If the current user is an admin, we will search for all WCUs in the system. If the current user is a restricted user with access to only 10 WCUs, we will search for only those 10 WCUs. &lt;br /&gt;
&lt;br /&gt;
The currently available WCU attributes to filter on is: WCU ID, Software version, Description and WCU Name &lt;br /&gt;
&lt;br /&gt;
==== Operators: ====&lt;br /&gt;
Each search criteria has at least two operators; &#039;matches expression&#039; and &#039;equals&#039;. &lt;br /&gt;
&lt;br /&gt;
===== Matches expression: =====&lt;br /&gt;
&#039;Matches expression&#039; means that the inserted value will be treated as a regular expression.&lt;br /&gt;
&lt;br /&gt;
===== Equals: =====&lt;br /&gt;
&#039;Equals means that the chosen attribute has to exactly match the inserted value.&lt;br /&gt;
&lt;br /&gt;
===== Is one of: =====&lt;br /&gt;
For the attributes &#039;WCU ID&#039; and &#039;WCU Name&#039; there is an additional operator &#039;is one of&#039;. When choosing this operator, the value text field is replaced by a combined search and drop down list which is populated be either all WCU IDs or WCU Names the currently logged in user has access to. One can use this operator to conveniently filter out a few WCUs where it&#039;s a non trivial task to write a regular expression that only matches the wanted wcus.&lt;br /&gt;
&lt;br /&gt;
==== Advanced filter: ====&lt;br /&gt;
[[File:New search advanced search 1.png|thumb|Advanced filter]]&lt;br /&gt;
The WCUs widget allows the user build advanced nestled filters which is illustrated in in &#039;Advanced filter&#039;.  &lt;br /&gt;
&lt;br /&gt;
In this example we filter &amp;quot;all wcus that matches expression &#039;8&#039; &amp;quot; AND &amp;quot;software version equals &#039;2.43.0&#039; &amp;quot; AND &amp;quot;description matches expression &#039;T20&#039; or &#039;T30&#039; &amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Cars: ===&lt;br /&gt;
This widget is very similar to the WCUs widget. Default search criteria is &amp;quot;Plate number matches expression .*&amp;quot; which basically means that we don&#039;t put any constraints on cars. &lt;br /&gt;
&lt;br /&gt;
The currently available Car attributes to filter on is: Description, Plate number, Project, Proto number, Series, TSU and VIN.&lt;br /&gt;
[[File:New search filetypes.png|thumb|Enable file types]]&lt;br /&gt;
&lt;br /&gt;
=== File types: ===&lt;br /&gt;
The file types widget decides which file types we want to include in the search result. A file type is included in the result if the file type button in the window is toggled. &lt;br /&gt;
&lt;br /&gt;
The file types &#039;MDF&#039;, &#039;TEXT&#039; and &#039;VECTOR&#039; has sub types. When toggling a button with sub types, this will enable/disable all sub types for that file type. If one only want to include a subset of the sub types, one can expand the file type and only choose the wanted sub type. If only a subset of the file sub types are selected, the file type button will be in the disabled state. If all file sub types for a file type is enabled, the file type will change to enabled state. An example can be seen in &amp;quot;Enable file types&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
=== Aggregate results by: ===&lt;br /&gt;
This widget allows the user how the search results will be aggregated. Available choices are &#039;Day&#039;, &#039;Week&#039;. &#039;Month&#039; or &#039;Year&#039;, where &#039;Day&#039; is the default option.[[File:New search 1.png|thumb|Example search]]&lt;br /&gt;
== Results ==&lt;br /&gt;
If the search query yielded any results these results are presented as a chart in the Results portlet. In illustration &amp;quot;Example search&amp;quot; we show the results of a search query where have searched for all result files during August, 2016.&lt;br /&gt;
&lt;br /&gt;
The X-axis depends on the chosen &amp;quot;Aggregate results by&amp;quot; in the Search portlet and the Y-axis shows the number of result files for each aggregation. The result files types that were found in the query are displayed in the legend below the chart. In the example we can see that we searched for 8 result file types but result contains 5 of them. &lt;br /&gt;
[[File:New search add to download.png|thumb|Add to download]]&lt;br /&gt;
If one clicks on any result bar in the chart a new window, &amp;quot;Add to download&amp;quot; will popup which can be seen in illustration &amp;quot;Add to download&amp;quot;. This window shows the date for the aggregation, which can be a day, a week, a month or a year, the file type (MDF in this case), the total number of files and the total size of all the files in the aggregation. The window also has a grid that shows if the aggregation consists of subsets of file sub types. In this example we only have the sub type &amp;quot;MDF_WITHOUT_MODULE_NAMES&amp;quot;. When clicking the button &amp;quot;Add to download&amp;quot;, this aggregation will be added to the &amp;quot;Selected downloads&amp;quot; portlet. &lt;br /&gt;
&lt;br /&gt;
It is also possible to click the label of the X-axis to add all the file types for this date to &amp;quot;Selected downloads&amp;quot;. In the same way it&#039;s doable to click the legend to add all found results of a particular file type to the &amp;quot;Selected downloads&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
== Selected downloads ==&lt;br /&gt;
[[File:New search selected downloads.png|thumb|Selected downloads]]&lt;br /&gt;
Selected downloads shows the all aggregations added from the Results chart.  An example can be seen in &amp;quot;Selected downloads&amp;quot;. The columns shows basically the same information as the &amp;quot;Add to download&amp;quot; window displays before the aggregations are added for download.&lt;br /&gt;
&lt;br /&gt;
Clicking &amp;quot;Download&amp;quot; starts the compilation and the user is notified when the compilation is ready for download. The compilation can take quite some time if the total file size is &amp;gt; 100 mb.&lt;br /&gt;
&lt;br /&gt;
== Save, apply and reset search criteria ==&lt;br /&gt;
[[File:New search save as template.png|thumb|Save current search critieria]]&lt;br /&gt;
In the same way as for the &#039;Tasks&#039; tab and the &#039;Vehicles&#039; tab, search criteria can be saved as templates. To save the current search criteria as a template, use the middle of the three buttons to the right of the Search and Cancel buttons in the Search portlets. An example can be seen in &amp;quot;Save current search criteria&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
The leftmost button applies previously saved criteria and the rightmost buttons resets the search criteria to default.&lt;/div&gt;</summary>
		<author><name>Max.h.petersson</name></author>
	</entry>
	<entry>
		<id>https://wiki.alkit.se/wice295/index.php?title=Tasks_Tab&amp;diff=600</id>
		<title>Tasks Tab</title>
		<link rel="alternate" type="text/html" href="https://wiki.alkit.se/wice295/index.php?title=Tasks_Tab&amp;diff=600"/>
		<updated>2017-06-22T08:37:53Z</updated>

		<summary type="html">&lt;p&gt;Max.h.petersson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;= Tasks Tab=&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;keywords&amp;quot;&amp;gt; Regexp, regex, reg ex, regual expression &amp;lt;/div&amp;gt;&lt;br /&gt;
[[File:Illustration14.png|thumb|frame|Illustration 14a: The search panel for finding tasks.]]&lt;br /&gt;
[[File:User stop assignment.png|thumb|172x172px|Illustration 14b: Stop running assigment]]&lt;br /&gt;
You can easily search among all tasks on the portal by selecting this tab. There are two sections in this panel. The top one deals with various search criteria while the bottom one shows&lt;br /&gt;
search results.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Each search criteria affects what is indicated by the label associated with the text field. As an&lt;br /&gt;
example you have the label “Task ID:” which searches the field for task IDs to find matching&lt;br /&gt;
tasks to display.&amp;lt;br&amp;gt;In version 2.40 and above you can use regular expressions in all search fields. To designate an &amp;quot;all&amp;quot; search you enter a period (&amp;quot;.&amp;quot;) for that particular field. All searches are treated with the letters as wild-cards. An example is if you intend to search for tasks containing the word “bear” simply enter “bear” in the text field. Now, if there are tasks with the names “bear”, “polar bear”and “unbearable” all of these will match as they&lt;br /&gt;
contain the word “bear” somewhere.&lt;br /&gt;
If you enter characters in more than one text field, they will be treated with a logical AND between each field when searching.&lt;br /&gt;
&lt;br /&gt;
To search for a range of WCUs, assume the WCUs MM-810:1 – MM-823:1, you enter the query &amp;lt;code&amp;gt;8[1][0-9]|8[2][0-3]&amp;lt;/code&amp;gt;.&amp;lt;br&amp;gt;This is a regular expression where the first expression, 8[1][0-9], means that we want our search to start with an &#039;8&#039; followed by a &#039;1&#039; and then any digit in range 0-9.&lt;br /&gt;
The second part, 8[2][0-3], means an &#039;8&#039; followed by a &#039;2&#039; and then any digit in range 0-3. The two expressions are combined with a pipe characater (&amp;quot;|&amp;quot;) which means logical OR.&lt;br /&gt;
In other words we are looking for range 810-819 OR 820-823.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note!&#039;&#039;&#039; If your WCU/resource group you are searching for has special characters (like &#039;(&#039; or &#039;/&#039;) in its name you may need to escape these characters in order to get the desired result. Escape means putting a &#039;\&#039; before the special character. For example if you want to enter (and search for) the resource group name &#039;ABC(Alpha_Bravo_Charlie)&#039; you need to write &#039;ABC\(Alpha\_Bravo\_Charlie\)&#039;.&lt;br /&gt;
Another example is when you want to list a WCU that contains &amp;quot;07-51&amp;quot; in its name. In this case you need to type &amp;quot;07\-51&amp;quot;, otherwise the &amp;quot;-&amp;quot; character will make the searcher to search for a range of numbers.&lt;br /&gt;
&lt;br /&gt;
For more info how to use regular expressions, see [https://en.wikipedia.org/wiki/Regular_expression#Standards Regular Expressions]&lt;br /&gt;
&lt;br /&gt;
The search tab shows all assignments the current logged in user has read access to. If the user also has write access to the assignments it is possible to stop a running assignment. To stop a running assignment, select the assigment and click the &amp;quot;Stop assignment&amp;quot; button located in the bottom right corner of the search tab. This button is marked with read in illustration 14b.&lt;br /&gt;
&lt;br /&gt;
==The Search Fields Section==&lt;br /&gt;
Above most columns of the table there is a field that can be used to enter search criteria&lt;br /&gt;
to find assignments. Most of the fields are straight forward in where they apply. However some of them needs some more explaining.&lt;br /&gt;
Fields where you need to supply a date can be done in two ways. By clicking on the&lt;br /&gt;
small calendar picture to the right of the field brings up calendar where you can select a&lt;br /&gt;
date. When selecting a date this way, the time portion is always set to 12:00:00. Edit this&lt;br /&gt;
afterwards to fit your needs. You can also enter a date by in the field and the accepted&lt;br /&gt;
form is: yyyy-MM-dd HH:mm:ss.&lt;br /&gt;
&lt;br /&gt;
The “Assignment status” field is made up of check boxes. If you leave all unchecked, it&lt;br /&gt;
is implied that you do not care which status the assignment is in and therefore all statuses are included in the search. As soon as you check one or more of these a logical or&lt;br /&gt;
is applied to the selection of statuses.&lt;br /&gt;
The “Last update from” and to option relates to when the assignment changed its status,&lt;br /&gt;
i.e. any of the status from the check boxes.&lt;br /&gt;
There is an option to filter by the type of assignment using the check boxes to the right&lt;br /&gt;
of “Assignment type:”.&lt;br /&gt;
In the “Current hit count” you can see how many hits you will receive if you decide to&lt;br /&gt;
get the search results. This is a good indicator to see if you should narrow your search&lt;br /&gt;
criteria.&lt;br /&gt;
To sort the table you click the column header either by clicking the arrow to the right of&lt;br /&gt;
each header to select ordering, each click on the header somewhere else will toggle ascending/descending sorting or you can right click on the header to call up the header&lt;br /&gt;
menu where you can select sorting order or which columns you would like to see.&lt;br /&gt;
&lt;br /&gt;
==The Results Section==&lt;br /&gt;
[[File:Illustration15.png|thumb|frame|Illustration 15: Coloring of assignments that are in state &amp;quot;Error&amp;quot; or &amp;quot;Running&amp;quot;.]]&lt;br /&gt;
The results are fetched when you press Enter or when you press the &amp;quot;Search&amp;quot; button to the right in the Search tab.&lt;br /&gt;
&amp;lt;!-- The results are fetched continuously as you enter text in the fields, thus you do not need&lt;br /&gt;
to click the “Get Search Results” button.--&amp;gt;&lt;br /&gt;
In order to view a result you simply select the assignment in the table that you are interested in. Depending on the assignment different buttons will be enabled. If there are results available the “Get Result Files” button will be enabled.&lt;br /&gt;
Multiple rows in the table can be selected by holding down the shift key in order to select a range of rows or by holding down the ctrl-key to select individual rows.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration16.png|thumb|frame|Illustration 16: Drop down menu of the table header.]]&lt;br /&gt;
&lt;br /&gt;
If you right-click an entry you will be presented with a pop-up with a range of possibilities. Firstly, all the functionality of the buttons above the search result table is there along with a few more that are related to getting information. There is also some context awareness of this pop-up. An example of that is if you right-click in the WCU column, the option of showing the WCU information will be visible. If you instead right-click “Car” column, showing the cars information is visible. The reason for this is to keep the number of options to a minimum in order not to clobber your view. The “Task ID” column has an extra entry saying “Get result files” that brings up a dialog to download result files for a task. An explanation of this functionality can be found at the end of [[Active Tasks Tab#General Tab Layout]].&lt;br /&gt;
&lt;br /&gt;
There is an option to save which columns you are interested in to see. By clicking on the button “Save headers” the currently shown columns are saved and restored when you log in the next time. Right-clicking in the header will bring up menu where you can among other things select which columns should be visible in the table of results. The order of the columns can also be change by simply dragging a column to a new position. When saving the set of columns, the order of them is also saved on the server. &lt;br /&gt;
The drop down menu of the table header is in Illustration 16. The current table can be exported to an excel sheet by selecting “Export to excel”.&lt;br /&gt;
&lt;br /&gt;
==The Result Files and Logs Dialog==&lt;br /&gt;
[[File:Illustration17.png|thumb|frame|Illustration 17: The search for result files dialog.]]&lt;br /&gt;
An assignment can generate in principle an infinite number of result files. To be able to work with the files, a search window will open when you press the “Get Result Files” button or the “Get Log Files” button. There is only a minor difference in that when you hit the “Get Log Files” button not all search terms are available. See Illustration 17 below. &lt;br /&gt;
&lt;br /&gt;
At the top we have some information regarding the task such as the ID and description. Next is a field to hide the search field to make room for the table with the list of files. There are 4 different kinds of search criteria you use to filter out the result files you are interested in: the date, file name, the size of the file and the type of file. As you type your different criteria in the search fields, the “Available files:” entry reflects the number of files that would be listed if you hit the “Search Files” button.&lt;br /&gt;
Depending on the type of assignment you will be presented with a potentially differing set of buttons and controls. In the illustration above an MCD-Hub assignment was selected.&lt;br /&gt;
To choose the subtype for a file, use the radio buttons for each of the types  MDF, Vector and Text. The subtype selection is only enabled if the corresponding file type is checked.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration18.png|thumb|frame|Illustration 18: List of files to download.]]&lt;br /&gt;
&lt;br /&gt;
The check box “Compile by upload date” groups together all results from each result upload from the WCU. This is very useful as one upload can contain thousands of files and you are mostly interested in all of them to gather statistics or analyzing the result.&lt;br /&gt;
When you are satisfied with your search criteria, hit the Search Files button to view the list of files. An example of such a list is in Illustration 18 below. To select a file, click the row with the file you are interested in and it will be selected. By holding the shift-key down when you click an entry, all entries between the previous click and this one will be selected. To select a set of individual files, hold down the ctrl-key while selecting entries. When you push the Get File(s) button, a save file dialog opens where you can save the zip-file with your selected files zipped together.&lt;br /&gt;
&lt;br /&gt;
On the right you have a set or four buttons. The top one has already been described and is straight forward as it downloads result files to your computer. The next “Save header” saves which columns your are interested in seeing. The third button is used to get a plot of where the car has been during the collection of data for the selected file. If the data series is long, the last 24 hours are used to plot the route. The fourth button, “View file” is also only used for text files (and log files) which opens up a simple text area window where you can view the contents of the file. You can also double click a text file entry to view the contents of a file. The fifth button is only visible for MCD-Hub assignments and it is used to convert files in MDF format to text format.&lt;br /&gt;
When you are done, just hit the Back button and the window will disappear.&lt;br /&gt;
&lt;br /&gt;
From version 2.42 it is also possible to include gpx-files together with the downloaded result files by having the &amp;quot;Include gpx files&amp;quot; checkbox checked. Currently this is set by default.&lt;br /&gt;
&lt;br /&gt;
For each included result file, there will be a corresponding gpx file with the same filename as the result file. The gpx file will contain the route when the assignment was executed. Note that not all assignments have an end date, so in this case, the end date is set to 24h from the start date.&lt;br /&gt;
&lt;br /&gt;
===Downloading Files===&lt;br /&gt;
Depending on the number of files and sizes of the result files, it can take a considerable time to zip the files together before they are ready for download. Therefore, files are zipped and getting ready in the background on the server and when they are ready for download you will be notified with a toast message at the top next to the download dialog icon. The icon can be found in the tool strip at the top depicted in Illustration 19 below.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration19.png|frame|left|Illustration 19: Tool strip with the download icon.]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt; &lt;br /&gt;
When you press the “Get files(s)” button you will have the option of adding a description to the download which you can later see in the “My downloads” dialog for identification. Here you can also choose to insert VIN and plate number in all downloaded files. You can read more about hit here: [[Filenames when downloading]]. It is optional and you don&#039;t have to do that. &lt;br /&gt;
&lt;br /&gt;
The following toast will be shown when the preparation begins.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration20.png|frame|left|Illustration 20: Toast shown when file preparation begins.]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt; &lt;br /&gt;
When the preparation is done and your files are ready for download, the following toast will be shown in conjunction with the download icon in the tool strip.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration21.png|frame|Illustration 21: Toast shown when file preparation is done.]]&lt;br /&gt;
To see what preparations are ready for download, click the download icon in the tool strip, a dialog called “My Downloads” will open. If a download is being prepared, the progress bar in the column “Progress” will fill gradually fill with green until it is ready. If you are downloading a file, the progress bar Download progress will gradually fill with green until it is done. If you entered a description for your preparation, it will show in the column “Description”.&lt;br /&gt;
To download a file click the icon with a down pointing arrow. You will be prompted for  an optional name of the downloaded file. Whatever you type there will automatically get the file extension “.zip”. To close the dialog, click the cross in the upper right corner of the dialog.&lt;br /&gt;
&lt;br /&gt;
{{:My downloads}}&lt;br /&gt;
&lt;br /&gt;
==The New Results Panel==&lt;br /&gt;
In an effort to somewhat abstract the notion that the MCD-Hub generates files, this panel has been introduced. You enter this panel by pressing the button “Use new panel” which you at the top as depicted in Illustration 17 in [[#The Result Files and Logs Dialog]]. In this panel you deal with meta data of a measurement. As an example, consider a measurement made using the assignment with the name “312H_PP_1_7_5_4_CHARGE_M2810.hub”. When the data is converted it is converted into a number of different formats, however some parts of the file name are consistent over the different formats. A result file from this assignment could be named “312H_PP_1_7_5_4_CHARGE_M2810_MS_LOG_SREC_DRV_shot0001_20141124_092157.dat”. Depending on file type it will end with .dat, .txt or .asc. In this panel the “set” of different files will be represented with only one entry namely “MS_LOG_SREC_DRV_shot0001” and a column with when the measurement was triggered. See Illustration 23 for an example. Here you can filter the result based on time and a string that matches part of the filename.&lt;br /&gt;
Select the measurements you are interested in and press the “Get file(s)” button. You will now be presented with a selection window of which file types you are interested in. You can select as many file types as you which to download.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration23.png|thumb|frame|Illustration 23: The new results panel]]&lt;br /&gt;
[[File:Illustration24.png|thumb|frame|Illustration 24: File type selection dialog]]&lt;br /&gt;
&lt;br /&gt;
The file type selection dialog is as depicted in Illustration 24. In this dialog the MDF type of file is selected with the subtype without module names. After each subtype for the text and MDF type it says (converted). This means that this data is accessible right away with any need to convert the raw data into any of the formats, except for the Vector type which does not have the (converted) text for any of the subtypes. In case the file type you are interested in is not currently converted on the portal you will be given the option to start a conversion when you press the Ok button. Depending on the file type and amount of data in the measurement it can take a long time but when it is done you will get a message saying “Conversion done”.&lt;br /&gt;
&lt;br /&gt;
==Plot Route Dialog==&lt;br /&gt;
If you are interested in seeing where the car was driven while making measurements you can use the “Plot route” function by either using the button or the right-click menu. Doing this will open a dialog which by default plots the last 24 hour GPS positions (maximum of 100 positions) or, if there are not any during the last 24 hours, the last 100 registered positions. The dialog is depicted in Illustration 25 below. Just above the map are two dates present, from and to. These show the time interval that is shown on the map. You can change the dates and press the “Update map” button to view a new set a GPS positions during a measurement. You can zoom in and out of the map by pressing the plus or minus signs. By pressing the left mouse button and then drag the map you can freely move the map around. To zoom in on a particular area, hold down the left shift key and the left mouse button while dragging and a red rectangle will appear showing which area will be magnified. Release the mouse button to zoom in on the area.&lt;br /&gt;
You can download the set of positions in a file by pressing the button “Get GPS-data”. This downloads the GPS data to your computer in the gpx format to be used elsewhere.&lt;br /&gt;
&lt;br /&gt;
[[File:Illustration25.png|left|frame|Illustration 25: Plotting the route for a car during an assignment.]]&lt;/div&gt;</summary>
		<author><name>Max.h.petersson</name></author>
	</entry>
	<entry>
		<id>https://wiki.alkit.se/wice295/index.php?title=The_Portal_User_View&amp;diff=599</id>
		<title>The Portal User View</title>
		<link rel="alternate" type="text/html" href="https://wiki.alkit.se/wice295/index.php?title=The_Portal_User_View&amp;diff=599"/>
		<updated>2017-06-22T08:35:45Z</updated>

		<summary type="html">&lt;p&gt;Max.h.petersson: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This section will explain all panels and dialog in depth. Both regarding how you use it but also the limitations and some reasons to why it looks like it does. Section 3.1 will describe the meaning of the top level panels. In section 3.2 through 3.5 each top level panel will be described in detail.&lt;br /&gt;
&lt;br /&gt;
==Top level tabs==&lt;br /&gt;
On the top level there are four different tabs to choose from. From left to right they are:&lt;br /&gt;
#&#039;&#039;&#039;Tasks&#039;&#039;&#039; Manages your tasks, search among tasks and create new tasks.&lt;br /&gt;
#&#039;&#039;&#039;Search&#039;&#039;&#039; In this tab you search and download result files.&lt;br /&gt;
#&#039;&#039;&#039;Vehicles&#039;&#039;&#039; Manages your vehicles. As vehicles belong to users of the system, you need to assign a vehicle to yourself before you initiate tasks running on it. You can also deassign vehicles when you are finished with them.&lt;br /&gt;
#&#039;&#039;&#039;Administration&#039;&#039;&#039; In this tab you can administer your name, email-address, password and a few other things.&lt;br /&gt;
&lt;br /&gt;
With these three tabs you can do all the work that is needed to start, stop and handle data to and from vehicles. A figure of the tabs is presented in Illustration 11 below.&lt;br /&gt;
[[File:Illustration11 v240.png|frame|left|Illustration 11: The four tabs shown to a user.]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
{{:Tasks Tab}}&lt;br /&gt;
&amp;lt;br clear=&amp;quot;all&amp;quot;&amp;gt;&lt;br /&gt;
{{:Search Tab}}&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:Vehicles}}&lt;/div&gt;</summary>
		<author><name>Max.h.petersson</name></author>
	</entry>
</feed>