Example #1
0
/*********************************************************
 ******************    Main Function    ******************
 *********************************************************/
int main(int agrc, char *agrv[])
{
    /* return value of function main */
    int ret = 0; 

    if (agrc < 2) return 0;
    
    set_app_state_file_path(app_file_path);
    if (!strcmp(agrv[1], "state")) {
        ret = app_state();
        print_app_state(app_name, ret);
    } else if (!strcmp(agrv[1], "start")) {
        ret = app_start();
    } else if (!strcmp(agrv[1], "stop")) {
        ret = app_stop();
    } else if (!strcmp(agrv[1], "restart")) {
        ret = app_stop();
        sleep(1);
        ret = app_start();
    }
    return ret;
}
Example #2
0
/* This function is called by the driver when an interrupt is serviced. */
void user_isr() {
  // check if this interrupt was due to an I2C error
  uint16_t I2CErrors = get_i2c_errors();
  if (I2CErrors != 0) {
    ack_i2c_error();
    // disable and enable the app. to leave "error" state
    app_stop();
    app_start();
    return;
  }
  // handle new value
  uint16_t SensorValue = app_get_value();
  // ...
}
Example #3
0
void host_clean_up(void)
{
  DWORD disposition;
  char **pext;
  char *u3_device_serial;
  char reg_key[BUFSIZ];

  /* the device has been removed -
     just close the application as quickly as possible */

  app_stop(0);

  /* DELETE THE FILE ASSOCIATIONS */
  for(pext = extensions; *pext; pext++)
    disassociate(*pext);

  /* update icons */
  SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0);

  /* DELETE THE U3 Wireshark TYPE */
  strncpy(reg_key, WIRESHARK_ASSOC, strlen(WIRESHARK_ASSOC) + 1);
  strncat(reg_key, SHELL_OPEN_COMMAND, strlen(SHELL_OPEN_COMMAND) + 1);

  RegDeleteKey(HKEY_CLASSES_ROOT, reg_key);

  /* delete the open key */
  strncpy(reg_key, WIRESHARK_ASSOC, strlen(WIRESHARK_ASSOC) + 1);
  strncat(reg_key, SHELL_OPEN, strlen(SHELL_OPEN) + 1);

  RegDeleteKey(HKEY_CLASSES_ROOT, reg_key);

  /* delete the shell key */
  strncpy(reg_key, WIRESHARK_ASSOC, strlen(WIRESHARK_ASSOC) + 1);
  strncat(reg_key, SHELL, strlen(SHELL) + 1);

  RegDeleteKey(HKEY_CLASSES_ROOT, reg_key);

  /* delete the icon key */
  strncpy(reg_key, WIRESHARK_ASSOC, strlen(WIRESHARK_ASSOC) + 1);
  strncat(reg_key, DEFAULT_ICON, strlen(DEFAULT_ICON) + 1);

  RegDeleteKey(HKEY_CLASSES_ROOT, reg_key);

  /* finally delete the toplevel key */
  RegDeleteKey(HKEY_CLASSES_ROOT, WIRESHARK_ASSOC);

  uninstall(WINPCAP_KEY, WINPCAP_U3INSTALLED, WINPCAP_UNINSTALL);
  uninstall(VCREDIST_KEY, VCREDIST_U3INSTALLED, VCREDIST_UNINSTALL);

}
Example #4
0
/* This function is called by the driver when an interrupt is serviced. */
void user_isr() {
  // check if this interrupt was due to an I2C error
  uint16_t I2CErrors = get_i2c_errors();
  if (I2CErrors != 0) {
    ack_i2c_error();
    // disable and enable the app. to leave "error" state
    app_stop();
    app_start();
    return;
  }
  // handle new value
#ifdef SIMULATION
  uint16_t SensorValue = app_get_value();
#else
  printf("New value: ");
  PrintSensorValue();
  printf("\r\n");
#endif
}
Example #5
0
main(int argc, char *argv[])
{
  DWORD time_out = 0;
  char *u3_is_device_available;
#if 0 
  char **envptr;
  char *envval;
# endif 
  u3_is_device_available = getenv("U3_IS_DEVICE_AVAILABLE");

  if(u3_is_device_available && !strncmp(u3_is_device_available, "true", 4))
    /* the device is available - wait for user to respond to any dialogs */
    time_out = INFINITE;
#if 0
  for(envptr = environmentvars; *envptr; envptr++) {
    envval = getenv(*envptr);

    MessageBox(NULL,
	       envval ? envval : "NULL",
	       *envptr,
	       MB_YESNO|MB_TOPMOST|MB_ICONQUESTION);
  }
#endif

  if(argc > 1) {

    if(!strncmp(argv[1], "hostConfigure", 13))
      host_configure();
    else if(!strncmp(argv[1], "appStart", 9))
      app_start(argc, argv);
    else if(!strncmp(argv[1], "appStop", 8))
      app_stop(time_out);
    else if(!strncmp(argv[1], "hostCleanUp", 11))
      host_clean_up();

  }

  exit(0);
}