Example #1
0
int serial_test_calculator() {
  driver_t drv = driver_get(SERIAL_0);
  char buffer[1];
  int a = 0;
  int b = 0;
  int res = 0;
  drv.create(SERIAL_0);
  while (1) {
    drv.write(SERIAL_0, 32, "\n\rOttos Serial Test Calculator\n\r");

    drv.write(SERIAL_0, 13, "\n\rEnter Op1:");
    drv.read(SERIAL_0, 1, buffer);
    a = atoi(buffer);
    drv.write(SERIAL_0, 1, buffer);

    drv.write(SERIAL_0, 13, "\n\rEnter Op2:");
    drv.read(SERIAL_0, 1, buffer);
    b = atoi(buffer);
    drv.write(SERIAL_0, 1, buffer);
    res = a + b;
    sprintf(buffer, "%d", res);
    drv.write(SERIAL_0, 23, "\n\rResult of Op1 + Op2: ");
    drv.write(SERIAL_0, 1, buffer);
  }
  return 0;
}
Example #2
0
/**
 * Richiama direttamente la funzione ioctl di un driver
 */
uint32_t driver_ioctl(char *drv, device_t *dev, uint32_t call, uint32_t a, uint32_t b)
{
	driver_t *d = driver_get(drv);
	
	if(d == NULL || d->ioctl == NULL)
		return 0;
		
	else
		return d->ioctl(dev, call, a, b);
}
Example #3
0
int serial_test_write_exit_2() {
  int i;
  driver_t drv = driver_get(SERIAL_0);
  drv.create(SERIAL_0);
  drv.open(SERIAL_0);
//  for(i = 0; i < 310000; i++) {
//   if(i > 300000) {
     drv.write(SERIAL_0, 8, "exit_2\n\r");
//   }
//  }
  drv.close(SERIAL_0);
  return 0;
}
Example #4
0
int serial_test_write_1() {
  int i;
  driver_t drv = driver_get(SERIAL_0);
  drv.create(SERIAL_0);
  drv.open(SERIAL_0);
  for(i = 0;; i++) {
   //if(i > 100000) {
     drv.write(SERIAL_0, 8, "PID: 1\n\r");
     i = 0;
   //}
  }
  drv.close(SERIAL_0);
  return 0;
}
Example #5
0
/**
 * Elimina un driver
 * 
 * \param n nome del driver da eliminare
 * \return stato dell'eliminazione
 */
uint32_t driver_del(char *n)
{
	driver_t *m = driver_get(n);
	driver_t *pr = driver_list;
		
	if(m == NULL) return DRV_NF_ER;
	
	
	// Cerca il precedente
	if(m == driver_list)
	{
		driver_list = NULL;
	}
	else
	{
		while(pr != NULL && pr->next != NULL)
		{
			if(strcmp(pr->next->name, n) == 0) break; 
			pr = pr->next;
		}
		pr->next = m->next;
	}	
}
Example #6
0
/**
 * Deinizializza
 */
uint8_t driver_freed(char *drv)
{
	driver_t *m = driver_get(drv);
	
	if(m == NULL)
		return DRV_NF_ER;
	
	if(m->loaded == 0)
		return DRV_NT_IN;
	
	if(m->free == 0)
		return DRV_NF_FR;
	
	if(m->free() == DRV_OK)
	{
		m->loaded = 0;

		driver_puts(m, MDRV_IN, "deinitialized");
		
		return DRV_OK;
	}
	
	return DRV_ER;	
}
Example #7
0
/**
 * Inizializza
 */
uint8_t driver_initd(char *drv)
{
	driver_t *m = driver_get(drv);
	
	if(m == NULL)
		return DRV_NF_ER;
	
	if(m->loaded == 1)
		return DRV_AL_LD;
	
	if(m->init == 0)
		return DRV_NF_IN;
	
	if(m->init() == DRV_OK)
	{
		m->loaded = 1;
		
		driver_puts(m, MDRV_IN, "initialized");
	
		return DRV_OK;
	}
	
	return DRV_ER;
}
Example #8
0
int serial_test_create(void) {
  serial_test_serial_test_driver = driver_get(SERIAL_0);
  serial_test_serial_test_driver.create(SERIAL_0);
  return 1;
}