Lee, I'm sorry - it seems this will have to wait until I'll get to the FPGA programming again - the easy solution I told you about will not work. I just looked in the code - only 6 bits of the 16 bit sent over SPI are programmable in the current FPGA code. I forgot to implement writing (just missed the fact it is not possible with possible to do slowly in software anymore) as I was not counting much on the in-IMU filtering - logging raw data at full 2560samples/sec should be enough to play with the filtering at post-processing.
But that's definitely the flaw of the current code - I'll fix that, but not right now. Andrey On Tue, Oct 11, 2011 at 6:28 PM, Lemay, Lee C CIV SPAWARSYSCEN-PACIFIC, 52340 <lee.le...@navy.mil> wrote: > ** > Andrey, > > This is excellent. Thank you for the information. > > I have one request, which would be to be able to configure the ADIS IMU > sample decimation rate through the use of imu_setup.php. For > completeness, one would also able to select the FIR filter in default > configuration, A-D, and enable or disable the filter. > I understand if this is not a priority. It would definitely enhance the > usability of the ADIS IMU. > > Lee > > ------------------------------ > *From:* elp...@gmail.com [mailto:elp...@gmail.com] *On Behalf Of *Andrey > Filippov > *Sent:* Tuesday, October 11, 2011 3:50 PM > *To:* Lemay, Lee C CIV SPAWARSYSCEN-PACIFIC, 52340; > support-list@support.elphel.com > *Subject:* Re: [Elphel-support] Connecting the IMU and GPS adapter boards > to 10369board > > > > On Tue, Oct 11, 2011 at 4:24 PM, Lemay, Lee C CIV SPAWARSYSCEN-PACIFIC, > 52340 <lee.le...@navy.mil> wrote: > >> ** >> Thank you Andrey. I have a few more questions. >> >> Where do you set the baud rate for GPS? >> > > To write to EEPROM you may use this page > http://community.elphel.com/<remove-this>bootblock353/ > , this page also allows to read EEPROM and bootblock records on the camera > boards > > >> Which directory is the XML configuration file located in? >> > > /etc/imu_logger.xml > > You may also try to open the page the http://camera-ip/imu_setup.php(without > parameters) - it shows how to control the logger (I'll attach the > output below) > > > >> If I want to use "auto" baud rate, will the process be: >> - power on Elphel >> - wait until GPS gets a lock >> - type 'reboot' into the console ? >> > "reboot -f" > or open url in the browser > http://camera-ip/phpshell.php?command=reboot+-f > > just make sure you close that page - otherwise if the browser (or the > computer) will crash, it will try to open that page when you run the > browser, rebooting camera unintentionally. > >> >> Because if I hard reboot the Elphel by removing power, the GPS will lose >> power too. So typing reboot seems like the only way to maintain GPS lock and >> reboot the camera. Correct me if I am wrong. >> > > Usually, if the GPS was locked, it will re-lock after short power outage > before the camera will try to detect it. > >> >> I appreciate your help! >> >> Lee >> >> ------------------------------ >> >> Usage of IMU/GPS logger (/imu_setup.php) > > This script controls IMU/GPS logger. When the camera starts, the script > looks for the */etc/imu_logger.xml*" and if it is found, the settings from > this file are applied to the logger. If there is no such file (i.e. at first > boot after reflashing the camera) script looks for the optional extension > boards 103695 <http://192.168.0.9/imu_setup.php> and > 103696<http://wiki.elphel.com/index.php?title=103696>and uses the information > from their flash memory (not erased during reflash) > combined with the defaults to create initial */etc/imu_logger.xml* file > that can be modified later > > Script receives parameters as HTTP GET request, there are five special > parameters: > > - *source <http://192.168.0.9/imu_setup.php?source>* - returns the > source of this script > - *list <http://192.168.0.9/imu_setup.php?list>* - returns an XML > containing current logger settings, the names of the nodes can be used to > modify specific settings > - *save* - overwrite */etc/imu_logger.xml* with the current settings - > they will be used next time camera will boot up > - *msg=url-encoded-text-up-to-56-bytes* - set the "odometer" message > that will be logged next time the external input is toggled > - *smsg=url-encoded-text-up-to-56-bytes* - (not yet implemented) set > the "odometer" message and trigger logging immediately > > Other parameters are just *name=value* pairs with colons separating names > and subnames > > - *imu_period* - set the IMU logging period in SPI SCLK periods, maybe > set to *auto* (default value, same as 0xff000000) to log when the IMU > data is ready. Value 0 turns the IMU logging off > - *sclk_freq* - set SPI clock frequency, in Hz. Default is 5000000 > (5MHz) > - *stall* - set SPI 'stall' time, in microseconds. Default is 2 usec > - *baud_rate* - set baud rate for the serial GPS, default is 19200 > - *imu_slot* - specify the IMU board > (103695<http://wiki.elphel.com/index.php?title=103695>) > connection to the 10369 > <http://wiki.elphel.com/index.php?title=10369>board 0 - none, 1 - J9, 2 - > J10, 3 - J11. Default is 1 (J9) > - *gps_slot* - specify the GPS board > (103696<http://wiki.elphel.com/index.php?title=103696>) > connection to the 10369 > <http://wiki.elphel.com/index.php?title=10369>board 0 - none, 1 - J9, 2 - > J10, 3 - J11. Default is 2 (J10) > - *gps_mode* - synchronization mode for the GPS: 0 - pulse-per-sample > external input, negative front, 1 - pps input positive front, 2 - start of > a > first sentence after pause, 3 - start of each individual sentence. Mode 2 > is > the default, modes 0 and 1 require that GPS has a dedicated synchro output > - *msg_conf* - GPIO number and polarity (+16 - invert polarity) uses to > log external events (i.e. odometer pulses from a vehicle wheel sensor). > Timestamp uses leading edge, software may write to the 56-byte buffer (see > 'msg=' command above) before the trailing edge to attach the message to the > event after the event occured. In the case of short external pulses the > logged message will be the last written before the event > - *img_sync* - 0 - disable logging of the images, 1 - enable. In the > case of the multiple synchronized cameras this provides a way to match > external (master) camera timestamps transmitted over the synchronization > cable, with the local camera timestamps used by the logger - both are > logged. Default is 1 > - *extra_conf* - Development signals (0 - config_long_sda_en, 1 > -config_late_clk, 2 - config_single_wire, should be set for 103695 rev A). > Default is 4 > - *slow_spi* - may be set to 1 for slow SPI devices (other changes may > be needed, i.e. changing power from 3.3V to 5.0V selected by a resistor > divider). Default is 0 > - *imu_sa* - i2c slave address modifier (matches hardware jumpers). > Default is 3 > - *sleep_busy* - setting for the driver. It is a sleep time (in > microseconds) before the driver will poll the logger buffer if it does not > have the full sample record (64 bytes of data) ready > - *imu_registers* - setting the IMU register addresses to be logged > (total number of logged registers is 28). You may see the complete list of > the registers in the IMU datasheet. The registers are addressed as > 'imu_registers:NN', where NN is the register sequnce number, starting with > 0. Below are the default values: > - *imu_registers:0*=0x10 - x gyro low > - *imu_registers:1*=0x12 - x gyro high > - *imu_registers:2*=0x14 - y gyro low > - *imu_registers:3*=0x16 - y gyro high > - *imu_registers:4*=0x18 - z gyro low > - *imu_registers:5*=0x1a - z gyro high > - *imu_registers:6*=0x1c - x accel low > - *imu_registers:7*=0x1e - x accel high > - *imu_registers:8*=0x20 - y accel low > - *imu_registers:9*=0x22 - y accel high > - *imu_registers:10*=0x24 - z accel low > - *imu_registers:11*=0x26 - z accel high > - *imu_registers:12*=0x40 - x delta angle low > - *imu_registers:13*=0x42 - x delta angle high > - *imu_registers:14*=0x44 - y delta angle low > - *imu_registers:15*=0x46 - y delta angle high > - *imu_registers:16*=0x48 - z delta angle low > - *imu_registers:17*=0x4a - z delta angle high > - *imu_registers:18*=0x4c - x delta velocity low > - *imu_registers:19*=0x4e - x delta velocity high > - *imu_registers:20*=0x50 - y delta velocity low > - *imu_registers:21*=0x52 - y delta velocity high > - *imu_registers:22*=0x54 - z delta velocity low > - *imu_registers:23*=0x56 - z delta velocity high > - *imu_registers:24*=0x0e - temperature > - *imu_registers:25*=0x70 - time m/s > - *imu_registers:26*=0x72 - time d/h > - *imu_registers:27*=0x74 - time y/m > - *nmea* - set format of the four logged NMEA sentences. For each > sentence two text fields have to be specified - 'sentence' (the three > letters following the comman prefix '$GP'), and 'format' that consists of a > sequence of 'n' (for number) and 'b' (for bytes), up to 24 total. Numbers > consisting of digits, minus sign and decimal point are encoded with 2 > digits > per byte (to make sure the longest sentence fits into the 56 byte logger > payload buffer), followed by the 0xf nibble (half-byte). Bytes are encoded > with MSB cleared ( & 0x7f) for all bytes in a field but the last, the last > byte has it set (|0x80). Empty byte field is logged as 0xff. Below are the > default settings: > - *nmea:0:sentence*=RMC - sentence $GPRMC > - *nmea:0:format*=nbnbnbnnnnb - format for the $GPRMC > - *nmea:1:sentence*=GGA - sentence $GPGGA > - *nmea:1:format*=nnbnbnnnnbnbbb - format for the $GPGGA > - *nmea:2:sentence*=GSA - sentence $GPGSA > - *nmea:2:format*=bnnnnnnnnnnnnnnnn - format for the $GPGSA > - *nmea:3:sentence*=VTG - sentence $GPVTG > - *nmea:3:format*=nbnbnbnb - format for the $GPVTG > > You may record the log to a file (i.e. on external USB stick or SSD/HDD) > with teh following command: > *cat /dev/imu >log-file-path* > > Test logger and GPS: > *fpcf -imu 10000 | grep "1:"* > > The fpcf output starts the line (logged sample) with the source of the > sample: > > - *0:* - IMU (normally 2560 samples/sec) > - *1:* - GPS > - *2:* - camera images > - *3:* - 'odometer' - external events > > '10000' means that fpcf should output 10000 samples, that takes > approximately 4 seconds if IMU output is being logged. > > _______________________________________________ > Support-list mailing list > Support-list@support.elphel.com > http://support.elphel.com/mailman/listinfo/support-list_support.elphel.com > >
_______________________________________________ Support-list mailing list Support-list@support.elphel.com http://support.elphel.com/mailman/listinfo/support-list_support.elphel.com