Example #1
0
SEXP create_explicit_stream()
{
	jobject ex_stream = env->NewObject(cl["ExplicitStream"], fn["ExplicitStream.<init>"]);

	if(env->ExceptionOccurred())
		return R_exception();

	return register_stream(ex_stream);
}
Example #2
0
/**
 * Main function for register standalone
 */
void register_main(const char *exename, int argc, const char * const *argv)
{
  struct sockaddr_in saddr;
  const char *stream_name;

  if (argc < 2)
    usage(exename);

  saddr = parseIp(argv[0]);
  stream_name = argv[1];

  register_stream(saddr, stream_name);
}
Example #3
0
SEXP create_rips_stream(SEXP pdata_handle, SEXP delta, SEXP max_len, SEXP max_d, SEXP mat_buflen)
{
	int sid = *INTEGER(R_ExternalPtrTag(pdata_handle));
	if(current_pointdata.find(sid) == current_pointdata.end())
		return (R_NilValue);

	jobject rips_str = env->NewObject(cl["RipsStream"], fn["RipsStream.<init>"], *REAL(delta), *REAL(max_len), *INTEGER(max_d), current_pointdata[sid]);

	if(env->ExceptionOccurred())
		return R_exception();

	return register_stream(rips_str);

}
  // [
  //   {directory, [file, file, ...]}
  //   {directory, [file, file, ...]}
  //   ...
  // ]
  file_monitor(spdlog::logger& logger,
               const std::vector<std::pair<std::string, std::vector<std::string>>>& targets,
               const callback& callback) : logger_(logger),
                                           callback_(callback),
                                           directories_(CFArrayCreateMutable(kCFAllocatorDefault, 0, &kCFTypeArrayCallBacks)),
                                           stream_(nullptr) {
    if (directories_) {
      for (const auto& target : targets) {
        if (auto directory = CFStringCreateWithCString(kCFAllocatorDefault,
                                                       target.first.c_str(),
                                                       kCFStringEncodingUTF8)) {
          CFArrayAppendValue(directories_, directory);
          CFRelease(directory);

          files_ = target.second;
        }
      }
      register_stream();
    }
  }
Example #5
0
SEXP create_lw_stream_from_handle(SEXP pdata_handle, SEXP granularity, SEXP max_d, SEXP rmax, SEXP nu, SEXP landmarks) 
{
	int sid = *INTEGER(R_ExternalPtrTag(pdata_handle));
	if(current_pointdata.find(sid) == current_pointdata.end())
		return (R_NilValue);

	int len = length(landmarks);

	jintArray landmarkarr = env->NewIntArray(len);
	int *parr = env->GetIntArrayElements(landmarkarr, NULL);

	memcpy(parr, INTEGER(landmarks), len*sizeof(int));
	env->ReleaseIntArrayElements(landmarkarr, parr, 0);

	jobject lw_stream = env->NewObject(cl["LazyWitnessStream"], fn["LazyWitnessStream.<init>"],
		*REAL(granularity), *INTEGER(max_d), *REAL(rmax), *INTEGER(nu), landmarkarr, current_pointdata[sid]);

	if(env->ExceptionOccurred())
		return R_exception();

	return register_stream(lw_stream);
}
Example #6
0
/**
 * Send a store (append) request to cakedb server
 */
void store(struct sockaddr_in saddr, const char *stream_name,
	   const char *filename)
{
  t_data data;
  int s;
  int fd;
  int32_t size;
  int16_t streamId = register_stream(saddr, stream_name);
  struct stat sb;

  printf("storing data from file %s on cakedb\n", filename);

  s = create_network_link(saddr);

  if (stat(filename, &sb))
    error("Cannot stat file");

  fd = open(filename, O_RDONLY);
  if (fd == -1)
    error("Cannot open file");

  /* sid + file's data */
  size = 2 + sb.st_size;
  data.length = htonl(size);
  /* Send an append request */
  data.cmd = htons(2);
  data.sid = htons(streamId);

  /* send data header and sid */
  write_util(s, &data, sizeof(data));

  /* Read file and send data to cakedb */
  send_data(s, fd, sb.st_size);

  close(s);
  close(fd);
}
void setup() {
  // minimal SPI bus config (cant have two devices being addressed at once)
  //PORTG |= (1<<0);  // set AMC7812 CS pin high if connected
  digitalWrite(AMC7812_CS_ARDUINO_PIN, HIGH); // set AMC CS pin high 
  digitalWrite(SS, HIGH); // set ENCJ CS pin high 
  //pinMode(trigpin, INPUT);

  frontpanel_setup();

  Serial.begin(115200); //Turn on Serial Port for debugging

  uint8_t ret = setup_DAQ();
  frontpanel_set_led( COMM_LED, 1 );
  setup_ethernet();
  setup_ntp();
  register_stream();
  frontpanel_set_led( COMM_LED, 0 );

  delay(1000); // increase stability
  frontpanel_set_led( COMM_LED, 1 );
  setup_data_stream();
  frontpanel_set_led( COMM_LED, 0 );
  delay(1000);
}