From 91c0003b158e5f0ed9d0677fb136ae8bb6f86ec5 Mon Sep 17 00:00:00 2001 From: "N.N." Date: Mon, 28 Apr 2008 18:10:15 +0000 Subject: this is an old gridflow, and there's already a svn repository at http://gridflow.ca/svn/trunk svn path=/trunk/; revision=9739 --- externals/gridflow/format/dc1394.c | 346 ------------------------------------- 1 file changed, 346 deletions(-) delete mode 100644 externals/gridflow/format/dc1394.c (limited to 'externals/gridflow/format/dc1394.c') diff --git a/externals/gridflow/format/dc1394.c b/externals/gridflow/format/dc1394.c deleted file mode 100644 index 5349c231..00000000 --- a/externals/gridflow/format/dc1394.c +++ /dev/null @@ -1,346 +0,0 @@ -/* - $Id: dc1394.c,v 1.2 2006-03-15 04:37:46 matju Exp $ - - GridFlow - Copyright (c) 2001,2002,2003,2004 by Mathieu Bouchard - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - See file ../COPYING for further informations on licensing terms. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -#include -#include -#include "../base/grid.h.fcs" - -typedef raw1394handle_t RH; -typedef nodeid_t NID; - -static const int ruby_lineno = __LINE__; -static const char *ruby_code = -\ruby - -def choice(*)end -class CStruct - def initialize(*) end -end - -choice :name,:Speed,:start,0,:values,%w(SPEED_100 SPEED_200 SPEED_400) -choice :name,:Framerate,:start,32,:values, -%w(FRAMERATE_1_875 FRAMERATE_3_75 FRAMERATE_7_5 FRAMERATE_15 - FRAMERATE_30 FRAMERATE_60) - -choice :name,:Format0Mode,:start,64,:values,%w( - MODE_160x120_YUV444 MODE_320x240_YUV422 - MODE_640x480_YUV411 MODE_640x480_YUV422 - MODE_640x480_RGB MODE_640x480_MONO - MODE_640x480_MONO16) - -choice :name,:Format1Mode,:start,96,:values,%w( - MODE_800x600_YUV422 MODE_800x600_RGB - MODE_800x600_MONO MODE_1024x768_YUV422 - MODE_1024x768_RGB MODE_1024x768_MONO - MODE_800x600_MONO16 MODE_1024x768_MONO16) - -choice :name,:Format2Mode,:start,128,:values,%w( - MODE_1280x960_YUV422 MODE_1280x960_RGB - MODE_1280x960_MONO MODE_1600x1200_YUV422 - MODE_1600x1200_RGB MODE_1600x1200_MONO - MODE_1280x960_MONO16 MODE_1600x1200_MONO16) - -choice :name,:Format6Mode,:start,256,:values,%w(MODE_EXIF) - -choice :name,:Format7Mode,:start,288,:values,%w( - MODE_FORMAT7_0 MODE_FORMAT7_1 MODE_FORMAT7_2 MODE_FORMAT7_3 - MODE_FORMAT7_4 MODE_FORMAT7_5 MODE_FORMAT7_6 MODE_FORMAT7_7) - -choice :name,:Format7ColorMode,:start,320,:values,%w( - COLOR_FORMAT7_MONO8 COLOR_FORMAT7_YUV411 - COLOR_FORMAT7_YUV422 COLOR_FORMAT7_YUV444 - COLOR_FORMAT7_RGB8 COLOR_FORMAT7_MONO16 - COLOR_FORMAT7_RGB16) - -choice :name,:TriggerMode,:start,352,:values,%w( - TRIGGER_MODE_0 TRIGGER_MODE_1 TRIGGER_MODE_2 TRIGGER_MODE_3) - -choice :name,:CameraImageFormat,:start,384,:values,%w( - FORMAT_VGA_NONCOMPRESSED FORMAT_SVGA_NONCOMPRESSED_1 - FORMAT_SVGA_NONCOMPRESSED_2 skip 3 - FORMAT_STILL_IMAGE FORMAT_SCALABLE_IMAGE_SIZE) - -choice :name,:CameraFeatures,:start,416,:values,%w( - FEATURE_BRIGHTNESS FEATURE_EXPOSURE - FEATURE_SHARPNESS FEATURE_WHITE_BALANCE - FEATURE_HUE FEATURE_SATURATION - FEATURE_GAMMA FEATURE_SHUTTER - FEATURE_GAIN FEATURE_IRIS - FEATURE_FOCUS FEATURE_TEMPERATURE - FEATURE_TRIGGER skip 19 - FEATURE_ZOOM FEATURE_PAN - FEATURE_TILT FEATURE_OPTICAL_FILTER - skip 12 FEATURE_CAPTURE_SIZE - FEATURE_CAPTURE_QUALITY skip 14) - -choice :name,:DCBool,:start,0,:values,%w(False True) - -#define MAX_CHARS 32 -#define SUCCESS 1 -#define FAILURE -1 -#define NO_CAMERA 0xffff - -# Parameter flags for setup_format7_capture() -#define QUERY_FROM_CAMERA -1 -#define USE_MAX_AVAIL -2 -#define USE_RECOMMENDED -3 - -# all dc1394_ prefixes removed -# raw1394handle_t = RH -# nodeid_t = NID -# RH+NID = RN - -CameraInfo = CStruct.new %{ - RH rh; - NID id; - octlet_t ccr_offset; - u_int64_t euid_64; - char vendor[MAX_CHARS + 1]; - char model[MAX_CHARS + 1]; -} - -CameraCapture = CStruct.new %{ - NID node; - int channel, frame_rate, frame_width, frame_height; - int * capture_buffer; - int quadlets_per_frame, quadlets_per_packet; - const unsigned char * dma_ring_buffer; - int dma_buffer_size, dma_frame_size, num_dma_buffers, dma_last_buffer; - const char * dma_device_file; - int dma_fd, port; - struct timeval filltime; - int dma_extra_count; - unsigned char * dma_extra_buffer; - int drop_frames; -} - -MiscInfo = CStruct.new %{ - int format, mode, framerate; - bool is_iso_on; - int iso_channel, iso_speed, mem_channel_number; - int save_channel, load_channel; -} - -FeatureInfo = CStruct.new %{ - uint feature_id; - bool available, one_push, readout_capable, on_off_capable; - bool auto_capable, manual_capable, polarity_capable, one_push_active; - bool is_on, auto_active; - char trigger_mode_capable_mask; - int trigger_mode; - bool trigger_polarity; - int min, max, value, BU_value, RV_value, target_value; -} - -FeatureSet = CStruct.new %{ - FeatureInfo feature[NUM_FEATURES]; -} -#void print_feature_set(FeatureSet *features); -#extern const char *feature_desc[NUM_FEATURES]; -#void print_feature(FeatureInfo *feature); -#RawFire create_handle(int port); -#destroy_handle(RH rh); -#void print_camera_info(camerainfo *info); - -class RH; %{ - # those two: - # Return -1 in numCameras and NULL from the call if there is a problem - # otherwise the number of cameras and the NID array from the call - NID* get_camera_nodes(int *numCameras, int showCameras); - NID* get_sorted_camera_nodes(int numids, int *ids, int *numCameras, int showCameras); - release_camera(CameraCapture *camera); - single_capture(CameraCapture *camera); -# this one returns FAILURE or SUCCESS - multi_capture(CameraCapture *cams, int num); -}end - -class RN; %{ - init_camera(); - is_camera(bool *value); - get_camera_feature_set(FeatureSetFeatureInfo *features); - get_camera_feature(FeatureInfo *feature); - get_camera_misc_info(miscinfo *info); - get_sw_version(quadlet_t *value); - get_camera_info(camerainfo *info); - query_supported_formats(quadlet_t *value); - query_supported_modes(uint format, quadlet_t *value); - query_supported_framerates(uint format, uint mode, quadlet_t *value); - query_revision(int mode, quadlet_t *value); - query_basic_functionality(quadlet_t *value); - query_advanced_feature_offset(quadlet_t *value); - attr set_video_framerate(uint framerate); - attr video_mode(uint mode); - attr video_format(uint format); - double_attr iso_channel_and_speed(uint channel, uint speed); - camera_on(); - camera_off(); - start_iso_transmission(); - stop_iso_transmission(); - get_iso_status(bool *is_on); - set_one_shot(); - unset_one_shot(); - set_multi_shot(uint numFrames); - unset_multi_shot(); -# attributes : -# those are get_/set_ methods where the get has an input parameter -# and the set has an output parameter - attr uint brightness - attr uint exposure - attr uint sharpness - double_attr set_white_balance(uint u_b_value, uint v_r_value); - attr uint hue - attr uint saturation(uint saturation); - attr uint gamma(uint gamma); - attr shutter(uint shutter); - attr uint gain - attr uint iris - attr uint focus - attr uint trigger_mode - attr uint zoom - attr uint pan - attr uint tilt - attr uint optical_filter - attr uint capture_size - attr uint capture_quality - int get_temperature(uint *target_temperature, uint *temperature); - int set_temperature(uint target_temperature); - - get_memory_load_ch(uint *channel); - get_memory_save_ch(uint *channel); - is_memory_save_in_operation(bool *value); - set_memory_save_ch(uint channel); - memory_save(); - memory_load(uint channel); - attr bool trigger_polarity - trigger_has_polarity(bool *polarity); - attr bool set_trigger_on_off - -# this one returns SUCCESS on success, FAILURE otherwise - setup_capture( - int channel, int format, int mode, int speed, int frame_rate, - CameraCapture *camera); - dma_setup_capture( - int channel, int format, int mode, int speed, int frame_rate, - int num_dma_buffers, int drop_frames, const char *dma_device_file, - CameraCapture *camera); - setup_format7_capture( - int channel, int mode, int speed, int bytes_per_packet, - uint left, uint top, uint width, uint height, CameraCapture *camera); - dma_setup_format7_capture( - int channel, int mode, int speed, int bytes_per_packet, - uint left, uint top, uint width, uint height, - int num_dma_buffers, CameraCapture *camera); -}end - -#RNF = RN+uint feature -class RNF; %{ - query_feature_control(uint *availability); - query_feature_characteristics(quadlet_t *value); - attr uint feature_value - is_feature_present(bool *value); - has_one_push_auto(bool *value); - is_one_push_in_operation(bool *value); - start_one_push_operation(); - can_read_out(bool *value); - can_turn_on_off(bool *value); - is_feature_on(bool *value); - feature_on_off(uint value); - has_auto_mode(bool *value); - has_manual_mode(bool *value); - is_feature_auto(bool *value); - auto_on_off(uint value); - get_min_value(uint *value); - get_max_value(uint *value); -}end - -# DMA Capture Functions -#dma_release_camera(RH rh, CameraCapture *camera); -#dma_unlisten(RH rh, CameraCapture *camera); -#dma_single_capture(CameraCapture *camera); -#dma_multi_capture(CameraCapture *cams,int num); -#dma_done_with_buffer(CameraCapture * camera); - -# default return type is int, prolly means SUCCESS/FAILURE - -#RNM = RN+uint mode -class RNM; %{ - query_format7_max_image_size(uint *horizontal_size, uint *vertical_size); - query_format7_unit_size(uint *horizontal_unit, uint *vertical_unit); - query_format7_color_coding(quadlet_t *value); - query_format7_pixel_number(uint *pixnum); - query_format7_total_bytes(uint *total_bytes); - query_format7_packet_para(uint *min_bytes, uint *max_bytes); - query_format7_recommended_byte_per_packet(uint *bpp); - query_format7_packet_per_frame(uint *ppf); - query_format7_unit_position(uint *horizontal_pos, uint *vertical_pos); - # those were query/set pairs. - double_qattr format7_image_position(uint left, uint top); - double_qattr format7_image_size(uint width, uint height); - qattr uint format7_color_coding_id - qattr uint format7_byte_per_packet - query_format7_value_setting(uint *present, uint *setting1, uint *err_flag1, uint *err_flag2); - set_format7_value_setting(); //huh? -}end - -\end ruby -; - -\class FormatDC1394 < Format -struct FormatDC1394 : Format { - \decl void initialize (Symbol mode); - \decl void frame (); -}; - -\def void initialize(Symbol mode) { - gfpost("DC1394: hello world"); - RH rh = raw1394_new_handle(); - int numPorts = raw1394_get_port_info(rh,0,0); - raw1394_destroy_handle(rh); - gfpost("there are %d Feuerweuer ports",numPorts); - if (mode!=SYM(in)) RAISE("sorry, read-only"); - for(int port=0; port