Exemple #1
0
int main(int argc, char *argv[])
{
   int s1 = setStackSize();
   if (s1 == 0) //only work if we succeeded in setting stack size
   {
      printf("Size of struct read_t: %d\n", sizeof(struct read_t));
      pthread_t threads[THREADS];
      long pids[THREADS];
      int i;
      struct timeval starttime, endtime;
      gettimeofday(&starttime,NULL); //get program start time

      //start threads
      pthread_mutex_init(&lock, NULL);
      for(i=0;i<THREADS;i++)
      {
         pids[i] = (i+1);
         pthread_create(&threads[i],NULL,worker,(void *)pids[i]);
         pthread_join(threads[i],NULL);
      }

      gettimeofday(&endtime,NULL); //get the finish time
      long time = (endtime.tv_sec-starttime.tv_sec) * 1000000+(endtime.tv_usec-starttime.tv_usec);
      printf("Total run time is %ld microseconds ~= %ld seconds.\n", time, time/10000);
      printf("Threads: %d, Working Set Size: %d\n", THREADS, SET);
   } else
      printf("Couldn't set new stack size, exiting");
   

   //cleanup
   pthread_mutex_destroy(&lock);
   pthread_exit(NULL);
}
CameraWrapper::CameraWrapper(int frames)
{
    // init camera
    e = 0;
    ctx = rs_create_context(RS_API_VERSION, &e);
    check_error();
    printf("There are %d connected RealSense devices.\n", rs_get_device_count(ctx, &e));
    check_error();
    if(rs_get_device_count(ctx, &e) == 0)
    {
        std::cout << "camera init broken" << std::cout;
    }
    else
    {
        dev = rs_get_device(ctx, 0, &e);
        check_error();
        printf("\nUsing device 0, an %s\n", rs_get_device_name(dev, &e));
        check_error();
        printf("    Serial number: %s\n", rs_get_device_serial(dev, &e));
        check_error();
        printf("    Firmware version: %s\n", rs_get_device_firmware_version(dev, &e));
        check_error();

        // set controls
        // NOTE find good laser power, max 15
        //rs_enable_stream_preset(dev, RS_STREAM_DEPTH, RS_PRESET_BEST_QUALITY, &e);

        rs_enable_stream(dev, RS_STREAM_DEPTH, 640, 480, RS_FORMAT_Z16, 30, &e);
        check_error();
        rs_set_device_option(dev, RS_OPTION_F200_ACCURACY, 1, &e);
        check_error();
        rs_set_device_option(dev, RS_OPTION_F200_FILTER_OPTION, 0, &e);
        check_error();
        rs_enable_stream(dev, RS_STREAM_COLOR, 1920, 1080, RS_FORMAT_RGB8, 30, &e);
//        rs_enable_stream_preset(dev, RS_STREAM_COLOR, RS_PRESET_BEST_QUALITY, &e);
        check_error();
        rs_enable_stream(dev, RS_STREAM_INFRARED, 640,480, RS_FORMAT_Y8, 30, &e);
        //rs_enable_stream_preset(dev, RS_STREAM_INFRARED, RS_PRESET_BEST_QUALITY, &e);
        check_error();
        rs_start_device(dev, &e);
        check_error();

        // get intrinsics and convert them to opencv mat
        // IR and DEPTH are the same for f200, so this is basically overhead
        rs_get_stream_intrinsics(dev, RS_STREAM_DEPTH, &depth_intrin, &e);
        check_error();
        rs_get_device_extrinsics(dev, RS_STREAM_DEPTH, RS_STREAM_COLOR, &depth_to_color, &e);
        check_error();
        rs_get_stream_intrinsics(dev, RS_STREAM_COLOR, &color_intrin, &e);
        check_error();
        rs_get_stream_intrinsics(dev, RS_STREAM_INFRARED, &ir_intrin, &e);
        check_error();
        depthScale = rs_get_device_depth_scale(dev, &e);
        check_error();
    }

    // set number of frames to record
    setStackSize(frames);

}
TaskProximity::TaskProximity(SI1143* si1143,rtos::Mutex* mutexI2C,
	rtos::Queue<SI1143ProximityMessage,PROXIMITY_QUEUE_LENGHT>* queue,
	osPriority priority, uint32_t stackSize, unsigned char *stackPointer):TaskProximity(si1143,mutexI2C,queue) {
	setPriority(priority);
	setStackSize(stackSize);
	setStackPointer(stackPointer);
	setState(SLEEPING);
}
Exemple #4
0
void QtThread::start(void *(*start_routine)(void*), void *parameter)
{
    setStackSize(STACK_SIZE);
    this->start_routine = start_routine;
    this->pointer = parameter;

    QThread::start();
}
TaskLight::TaskLight(MAX44009* max44009,rtos::Mutex* mutexI2C,
		rtos::Queue<MAX44009Message,LIGHT_QUEUE_LENGHT>* queue,
		osPriority priority, uint32_t stackSize, unsigned char *stackPointer):TaskLight(max44009,mutexI2C,queue) {
	setPriority(priority);
	setStackSize(stackSize);
	setStackPointer(stackPointer);
	setState(SLEEPING);
}
Exemple #6
0
  Signal::Manager::Manager()
  {
    setStackSize((size_t)(4 * getpagesize()));
    ::sigemptyset(&mask);

    if(sigprocmask(SIG_BLOCK, &mask, nullptr) < 0)
    {
      throw;
    }

    fd = signalfd(-1, &mask, SFD_NONBLOCK | SFD_CLOEXEC);
    Poller::get()->addListener(this);
  }
Exemple #7
0
CItemCurrency::CItemCurrency(uint16 id) : CItem(id)
{
	setType(ITEM_CURRENCY);
	setStackSize(999999999);
}
Thread::Thread(Type type, QObject *parent) :
    QThread(parent),
    m_type(type)
{
    setStackSize(512 * 1024);
}