Magic Lantern Forum

Developing Magic Lantern => Modules Development => Topic started by: dlrpgmsvc on June 09, 2013, 12:56:21 AM

Title: Bolt trigger module test results (bolt_rec.mo)
Post by: dlrpgmsvc on June 09, 2013, 12:56:21 AM
 Updated October 20th by Renato for a quick how to guide:

Two versions available, one with ring-buffering option (buf_raw.mo + buf_bolt.mo)  and one without ring buffer (bolt_raw.mo).  The ring-buffering option allows to record more frames before and after the bolt while  the bolt_raw.mo only record one or a few frames after the bolt.  Also there are some compatibility issues for the ring-buffering options as noted below.
-----------------------------
Ring-buffering option can be used with cameras that have a CF card.   Tested cameras: 5D3 (works best), 7D with Tragic lantern for fps override.
Raw Video: https://bitbucket.org/mk11174/magic-lantern/downloads/buf_raw.mo  (This is an older raw_rec.mo so do not load current raw_rec.mo at the same time)
Bolt Trigger: https://bitbucket.org/mk11174/magic-lantern/downloads/buf_bolt.mo
Copy these modules to the modules directory. 
Load the modules, camera in M mode, camera in video mode, enable Bolt Trigger RAW video and Bolt trigger Pre Buf modules located on Movie tab.  Set fps override to 15 with Low light option i.e  fps=14.985.  When you enable Bolt trigger the shutter speed should drop to 1/16, if this does not happen you will get more damaged frames.
For 5D3 I change the default  setup of Bolt trigger to:  Post-bolt frame count to 50, Abs trigger enabled ON, Rel: trigger enable OFF
For 7D leave the default settings.
Set your ISO to 100 and play these settings until you think you understand how this works.
Press Record button and the ring buffer will fill up but no recording (red led) will begin until the trigger detects a flash or light.  Test this with a flash or a bright light (on-off). When finished recording press the stop button (recording button) and then use the RAW  video playback found in Bolt Trigger RAW video to see the results.  When all works as expected download the raw file and have a look a the frames captured.
--------------------------------
bolt_raw.mo is the second option. This works on cameras with SD and CF cards.  Tested cameras: 5D3, 5D2, 7D, 550D, 600D, maybe will work: 60D and 650D
Download: https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo
Copy this module to your module directory.
Load the module, camera in M mode, camera in video mode, enable Bolt trigger  located on Movie tab. 
Set fps override to 15 with Low light option i.e  fps=14.985. 
When you enable Bolt trigger the shutter speed should drop to 1/16, if this does not happen you will get more damaged frames.
I have only tested default settings and work.  May have to adjust  Trigger value or take Auto exposure if you do not like how it exposes.  This feature changes the f-stop to adjust the scene exposure.
Set your ISO to 100 and play these settings until you think you understand how this works.
Press Record button and BOLTS CAPTURED  should stay at zero until a flash is detected and the captured frames will be recorded (red led).  Test this with a flash or a bright light (on-off).  When finished recording press the stop button (recording button) and then use the RAW  video playback to see the results.   When all works as expected download the raw file and have a look a the frames captured.

Jump to this post for more information: http://www.magiclantern.fm/forum/index.php?topic=6303.msg55463#msg55463


Here is more info from mk11174 on how to use other features of bolt_raw.mo!!!

My favorite feature I added was Autoexposure option, not sure if it works on any other camera though, but works perfect on the 550D, this allows me to walk away and control my video cameras while the autoexposure feature adjusts the trigger line right above the graph by controlling the aperture value and I made it slow so it does not re adjust when a flash happens, only when the sky changes gradually during a storm. Without this feature you have to watch the trigger line the whole time, if you want a bolt captured your goal is to keep that trigger line right above the graph to catch even the weakest bolts and since you have to do this, you will have to keep adjusting the aperture manually to keep the graph under the trigger line. The only thing you have to remember, is I set it to react slow, so when you first set your cam up at the sky you have to give the feature a chance to settle the graph under the trigger line, once it does, then you can start recording.

If the sky has a dark cloud layer and a medium grey layer it is best to use 1 scan line because the module will see the dark clouds and will adjust brighter which is bad cause then sky will get over exposed, that is why I added ability to see scan lines so you know what the detection lines are aimed at, if you have a nice even gradient sky, and it fills your view then you can use all scan lines with no issues.

The way I have it set up now allows me to turn it on and walk away and when I come back I have many bolts to enjoy without even touching the cam. So when used correctly which will take practice in my experience, it works really well.

The timelapse is a neat feature I added to it, but not always used, I only use it when I get really cool textured skies that I know will be worth a timelapse, it just saves a frame by itself while it captures bolts, it basically just sets off a false detection every so many seconds. Post gets harder because you have to manually separate the timelapse captures from the bolt captures so you don't get uneven motioned timelapses.

------------------------------------------

Original post by dlrpgmsvc

This thread was created for mk11174 in order to publish tests results of a module developed by gg30s. This module should start a raw video recording triggered by light and/or motion variations.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 09, 2013, 02:09:25 AM
Thanks for the post! Just waiting on some storms to start posting results!
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 09, 2013, 03:28:02 AM
Just a test, I went out trying to get it before dark because really for night lightning i would be using photo mode to take bulb mode high res raw stills. But for a evening sky where it is still to bright to do long exposure for night lightning I went to test the sensitivty of the trigger.

My test setup was using a a/c external flash bulb from 70 feet away and my first test was with scanline set to 1, it did not pick anything up, so I went to 20 scan lines, then it created a huge spike on the graph. So I went down by 5 and success till I went below 5 scan lines and the spike was smaller and smaller the less scan lines I used.

So if it can pick up the little light, it should easily pick up a lightning bolt even on a lighter grey storm sky, the darker the sky of coarse the more likely it will work.

Are only issue will be the rolling shutter cutting the images in half, but I found using a strobe light I tested the best fps and shutter speed to have greater success to reduce the gap between the scan line plus have more full frame captures without cut off.

My best success was set camera to 1920x1080 30p mode in Canon menu, then in ML turn on fps hack and set to EXACT at 15fps, then use exposure override to set shutter to 1/15, this will make the cut off line as skinny as possible which maybe allow for merging the cut offs together, because when setting the fps to 15 it seems to capture any cut in half images on 2 differ frames so you can merge them and make a full frame out of them. Plus setting to 15fps also captured more strobe flashes within a certain amount of frames as well.

Any lower then 15fps you risk the sky washing over the flash cause day skies are bright, so you dont want to long of a shutter plus the slower the fps and shutter the less the bolt trigger works. But to fast of fps and shutter the less flashes you will capture and the more cut in half images you will end up with.


1280x720x60P canon mode works as well, but not at a shutter of 1/60, it misses a lot of flashes, not the trigger, just the live view, the trigger works well in all my tests except long exposure, so avoid them.

If you go 60p mode then set fps to 30 or 15 and adjust shutter to 1/15 or 1/30 depending on what fps you go with, both work fine.

But on T2i when in 1280x720 mode, whether your taking a MOV or using Raw, this cam has banding issues and antialias issues plus I like using 5x mode to get 2512x1080 res. I can achieve this because I just have the bolt trigger capture 1 post frame, so just in case the bolt gets cut in half the main detection frame will be caught on the first frame and the other half will be on the post frame, would be cool to get 1 pre frame when the module gets set up for pre buffer capture if it is possible just in case a half for some reason gets caught on the  frame before the detection.

Well, these are my findings from my tests just to get this thread started  :D

By the way, I live in the US in Florida, so I am in the heart of lightning season, expecting action any day now.

I have been a lightning photographer for 10 years now.

(http://s24.postimg.org/vroz0w2jp/000024.jpg)

Title: Re: Bolt trigger module test results
Post by: dlrpgmsvc on June 09, 2013, 10:38:44 AM
What is the advantage of using raw video vs photo mode with ml light trigger ? Photo mode have more resolution and can be raw. If you want to capture a lightning movie you should use a pre-buffer not to lose the very first instants, so a circular self-deleting buffer all-time active, right?
Title: Re: Bolt trigger module test results
Post by: MA Visuals on June 09, 2013, 10:57:55 AM
Posted a quick test using the new ML Bolt module.  Not perfect conditions or camera settings, but I have to say that it worked admirably!
http://www.magiclantern.fm/forum/index.php?topic=6308.0 (http://www.magiclantern.fm/forum/index.php?topic=6308.0)

See Vimeo link for more details...

Title: Re: Bolt trigger module test results
Post by: mk11174 on June 09, 2013, 04:58:03 PM
What is the advantage of using raw video vs photo mode with ml light trigger ? Photo mode have more resolution and can be raw. If you want to capture a lightning movie you should use a pre-buffer not to lose the very first instants, so a circular self-deleting buffer all-time active, right?
I am not interested in capturing a movie, just daytime stills, which is very hard without a lightning trigger, during night I would just take regular stills to get full camera resolution, no lightning trigger needed just hand and bulb triggering.

I have an HDV camera for video of day lightning, I just want to use this trigger system to capture a nice high quality day time still of the main connection with all the branching. I can get stills from the video footage, but not going to be as high quality as dslr still if this works out.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 09, 2013, 05:05:45 PM
If you want to capture a lightning movie you should use a pre-buffer not to lose the very first instants, so a circular self-deleting buffer all-time active, right?

thats the plan.
Title: Re: Bolt trigger module test results
Post by: MA Visuals on June 10, 2013, 12:28:38 AM
Next time, was thinking of trying mk11174's recommending 15 fps and 15 shutter.  Goal is for the most usable film footage, even if some post work is involved.  I'm not actually sure that's even possible given the rolling shutter CMOS sensor. Any other suggestions to help minimize rolling shutter effects as well as improve overall quality of lightning capture would be most welcome.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 10, 2013, 01:55:29 AM
Next time, was thinking of trying mk11174's recommending 15 fps and 15 shutter.  Goal is for the most usable film footage, even if some post work is involved.  I'm not actually sure that's even possible given the rolling shutter CMOS sensor. Any other suggestions to help minimize rolling shutter effects as well as improve overall quality of lightning capture would be most welcome.
Sounds good, I am anxious to see your results, I had my first chance this season today, not many bolts though, only 4 that were in my area that I counted, non in my view, I even had 2 cams covering a wider range, all 4 hit out of view in random areas, so frustrating! I just want 1 for now just to see how the setting I came up with handle the rolling shutter.

More testing last night I found I can make the scan line cut even smaller by using Low Light option in FPS hack rather then EXACT. So if you set that first, then goto change your shutter to 1/15 or in case you have 2, 1/15 in menu, just go with the most open one before it resets to 1/4000 or 1/8000 depending on your camera, you just want most open shutter and not using Canon shutter option, has to be ML shutter control, it opens it a hair more which is crucial to minimize the scan line gap.

Hope it works though!  ;)
Title: Re: Bolt trigger module test results
Post by: MA Visuals on June 10, 2013, 11:01:18 PM
Hope it works though!  ;)

Me too!
Title: Re: Bolt trigger module test results
Post by: Kim.dh on June 11, 2013, 03:01:12 AM
thats the plan.
Awesome! I made a feature request for this function some days back. Glad to hear you are working on it.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 11, 2013, 09:27:09 PM
(http://s24.postimg.org/dfgon9bqd/28190166.jpg)

Finally got a day storm to test things!

Only issue was, the latest code is not working right, I tested last night with flash testing and it was not saving like code before the prebuffer was added, The last code captured the detection and post and saved fine, the new code saves the pre and post frames but not detection, I tested it with differ fps settings, differ res modes, no good and I confirmed it today with an actual bolt, it actually detected a real weak rain wrapped bolt in the distant and recorded the frames from buffer, but clearly all but the main flash that was detected, so that stinks, but at least it works for sure like I was hoping.

This was captured with Silent Picture Burst using the End Trigger setting, I just did a half shutter press till a bolt flashed in view and let it go and it captured and saved pre, main flash and post as much as my buffer fit for the mode I was in.

I was in 1920x1080 at 30p in Canon menu, I turned FPS on and set to 15 fps Low Light, then went and set my shutter using ML exposure override to closest shutter to 360 degrees 1/15 and just set my aperture a tiny bit above exposed correctly and used ND8 filter because it was a brighter grey sky. I then zoomed x5 because they were far away and far apart and this mode gives me a wider bigger res DNG which fit them fine.

I got many bolts today, most weak and far away but all worked great! I even got 1 or 2 split ones from the rolling shutter so I am anxious to see if my idea of putting the 2 cuts together will work out ok to where it is useable. Ill post later, this is the only shot I looked at so far.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 11, 2013, 09:56:04 PM
(http://s24.postimg.org/9omrz7ag5/28190179.jpg)
Ok, here is a split shot that was from the rolling shutter, but good thing was I barely got any splits with this storm, most were actually full frame, but anyway, this was split almost in the middle, easily in post was fixable because each split is captured on separate frames, only issue is, if its windy and your tripod moved it will be a tad bit tricker to merge them like in this shot on the left side you will see some ghosting because I did not make my remote trigger yet so I had to manually hold the shutter button which slightly moves the cam, but worked out fine considering.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 11, 2013, 10:23:57 PM
(http://s21.postimg.org/o3zldpzl3/28190193.jpg)

I wont upload all of them, don't want to fill page, but just to show how much you can push these raw images, I am able to go with a nice dark sky and bring out the bolt without screwing the image up like if it was from the HDV cam or a JPG, RAW Rocks!!!

THANK YOU ML for your Silent Picture End Trigger feature!

And of course thank you g3gg0 cause I know he will figure out what is wrong with the trigger because IT DOES WORK!
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 11, 2013, 11:47:25 PM
updated the code.
it will record a bit longer than the specified number of frames, but thats no show stopper.
tried with a laser and seem to work fine.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 12, 2013, 01:42:19 AM
updated the code.
it will record a bit longer than the specified number of frames, but thats no show stopper.
tried with a laser and seem to work fine.
Ok, it seems to catch the detection now, only thing is, not sure if it is planned like this, but the only way you can save each detection is to stop the recording after each detection. And then start a new record everytime. If you try to let all detections get caught on same raw file then I guess things get over written because I let it record and flash 6 flashes and when I do this, I get none captured. Only if I stop recording after each flash.

The 1st bolt trigger got every detection all in one recording and seemed more stable because the last 2 updates with pre buffer for some reason after a few detections it starts recording constant all by itself and you have to shut cam down to make it work right again?

Personally I will use the 1st trigger without pre buffer because I liked how it just captured everything in one record session, here in Florida storms move fast and bolts come very fast in between eachother, it takes to long to stop recording wait a couple scs then start it back up, plus if I have to sit right there at the cam it is easier to just get remote trigger and use the silent picture end trigger feature because you dont have to set anything up there.

But I do like the 1st trigger module the best and will prefer that over the silent picture end trigger feature.

One thing I do like about the Silent picture is after each bolt when you let go of the shutter it shows you a preview of the frames so you know if you got any bolts or if you have to adjust your exposure in case a bolt get over exposed.

But I really need to make a remote trigger for the half shutter cause your arm gets tired holding it in there air so long, or Ill just use the 1st trigger module which is probably what I will do next time to make sure it captures the bolts on time which I am sure it will at this point. But I want to be in the feild giving it a test for a full storm first to make my final choice.

Thanks again for all your hard work.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 13, 2013, 05:42:59 PM
Hi, in case anyone interested in the bolt trigger but is having issues with the pre-buffer version, here is the version that works for me before  pre buffer, it detects the main flash and records it plus post frames just fine. It should get you by till g3gg0 finishes tweaking up the pre buffer version.

By the way, I updated it to work with the config file save as well so your settings will save now. Not my code, all g3gg0's code, I just copied the needed files and pasted into this first version.

There are a few things I added just for my personal pref, but it is still g3gg0's code, but if you don't like the pref I added then blame me not him, his was fine, I just set it up for myself mainly but since the pre buffer version is having trouble right now I wanted you guys to have something that works, and this version was the one I already tweaked.

Things differ:
Position
Ability to change forground and background color
Separated plots so you only see plot that you enable so you can turn them on and off
Med font for Rec On and Off
Changed border a bit to go with separate plots.

All minor tweaks to my taste so full credit for working trigger goes to g3gg0!

http://www.mediafire.com/download/cnao9watwfy21p6/bolt_rec.mo (http://www.mediafire.com/download/cnao9watwfy21p6/bolt_rec.mo)

Geez, very important, this is only for people who compiled themselves and have modules turned on and if you want config save to work you must make and install the xml_cfg module.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 14, 2013, 02:03:31 AM
can you share your changes?
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 14, 2013, 03:53:29 AM
can you share your changes?
of coarse but i dont know how to do the whole bitbucket thing, could i just give you the whole file? i only know basic stuff.

Code: [Select]
/**
 * bolt_rec:
 * This module is designed to be used together with raw_rec.
 * It will extend raw_rec to trigger on lightning bolts and record for a defined amount of frames.
 * Due to the modular design of raw_rec, you don't have to change or configure it for bolt_rec.
 * As soon bolt_rec is being loaded, raw_rec knows what to do.
 *
 * It has two detection modes, absolute and relative.
 *
 * absolute:
 *   When a single pixel brightness gets above defined level (default=10000), recording starts.
 *
 * relative:
 *   Pixel brightness is compared to the previous level and starts when a single pixel delta (unsigned) gets above defined level (default=1000)
 *
 * As it would be too expensive to check every single pixel in the image, there are only a few pixels that get checked.
 * I decided to do it by lines, called "scanlines". A scanline is a complete horizontal row of pixels.
 * Please remind that we are working on raw bayer pattern, so it will scan RGRGRGRG or GBGBGBGB depending on the line count.
 * But I dont think that is an issue, as we want to record lightnings that are usually white. At least in germany they are ;)
 *
 * Scanlines are distributed over the whole image. If you select 1, then there is a single scanline in the center of the screen.
 * When selecting 2 scanlines, they will divide the image into 3 blocks, so one is at y = 1/3 * yRes.
 * Generic formula: distance = yRes / (scanlines + 1)
 *
 * Still missing is the "pre-buffering" as it requires a lot of changes in raw_rec that I didn't start yet.
 *
 * Please share your results :)
 *
 * __
 * g3gg0
 */

#include <module.h>
#include <dryos.h>
#include <property.h>
#include <bmp.h>
#include <menu.h>
#include <config.h>
#include <shoot.h>
#include "raw.h"

#define LOG_ENTRIES   110
#define MAX_SCANLINES 20
#define MAX_WIDTH     6000

/* interface functions required by raw_rec */
unsigned int raw_rec_cbr_starting();
unsigned int raw_rec_cbr_stopping();
unsigned int raw_rec_cbr_skip_frame(unsigned char *frame_data);
unsigned int raw_rec_cbr_skip_buffer(unsigned int buffer_index, unsigned int frame_count, unsigned int buffer_count);


/* recording options */
unsigned CONFIG_INT("enabled", bolt_rec_enabled, 0);
unsigned CONFIG_INT("post_frames", bolt_rec_post_frames, 5);
unsigned CONFIG_INT("plot_height", bolt_rec_plot_height, 105);
unsigned CONFIG_INT("color", plot_color, 15);
unsigned CONFIG_INT("bg_color", plot_bg_color, 3);

unsigned int plot_tb_position = 85;
unsigned int plot_lr_position = 594;
unsigned int bolt_rec_buffered = 0;

/* state variables */
unsigned int bolt_rec_recording = 0;
unsigned int bolt_rec_post_frames_recorded = 0;
unsigned int bolt_rec_vsync_calls = 0;

/* trigger method options */
unsigned CONFIG_INT("scanlines",   bolt_rec_scanlines,   6);
unsigned CONFIG_INT("rel_enabled", bolt_rec_rel_enabled, 0);
unsigned CONFIG_INT("rel_trigger", bolt_rec_rel_trigger, 2200);
unsigned CONFIG_INT("abs_enabled", bolt_rec_abs_enabled, 1);
unsigned CONFIG_INT("abs_trigger", bolt_rec_abs_trigger, 4000);

/* trigger method data */
unsigned short bolt_rec_rel_max = 800;
unsigned int bolt_rec_rel_log_pos = 0;
unsigned short bolt_rec_rel_peak[LOG_ENTRIES];
unsigned short *bolt_rec_rel_scanlines[MAX_SCANLINES];
unsigned short bolt_rec_rel_scanline_buf[MAX_SCANLINES * MAX_WIDTH];

unsigned short bolt_rec_abs_max = 800;
unsigned int bolt_rec_abs_log_pos = 0;
unsigned short bolt_rec_abs_peak[LOG_ENTRIES];
unsigned short bolt_rec_abs_avg[LOG_ENTRIES];


/* resolution dependent information, updated every callback */
unsigned int bolt_rec_y_step = 0;
unsigned int bolt_rec_x_start = 0;
unsigned int bolt_rec_x_end = 0;


/* this function reads raw_info */
static void bolt_rec_update_resolution()
{
    bolt_rec_y_step = raw_info.height / (bolt_rec_scanlines + 1);
    bolt_rec_x_start = raw_info.active_area.x1;
    bolt_rec_x_end = raw_info.active_area.x2;
}

static unsigned int bolt_rec_calculate_abs(unsigned char *buf)
{
    unsigned int pixelCount = 0;
    unsigned int peak = 0;
    unsigned int sum = 0;

    if(!bolt_rec_abs_enabled)
    {
        return 0;
    }

    for(unsigned int scanLine = 0; scanLine < bolt_rec_scanlines; scanLine++)
    {
        for(unsigned int pos = 0; pos < (bolt_rec_x_end-bolt_rec_x_start); pos++)
        {
            unsigned short value = raw_get_pixel_ex(buf, bolt_rec_x_start + pos, (scanLine + 1) * bolt_rec_y_step);

            sum += value;
            peak = MAX(value, peak);
            pixelCount++;
        }
    }

    sum /= pixelCount;

    /* update maximum value for plot */
    bolt_rec_abs_max = MAX(bolt_rec_abs_max, peak);

    /* put avg and max value into plot buffers */
    bolt_rec_abs_avg[bolt_rec_abs_log_pos] = sum;
    bolt_rec_abs_peak[bolt_rec_abs_log_pos] = peak;
    bolt_rec_abs_log_pos = (bolt_rec_abs_log_pos + 1) % LOG_ENTRIES;

    /* check if the detection routine detected activity */
    if(peak > bolt_rec_abs_trigger)
    {
        return 1;
    }

    return 0;
}

static unsigned int bolt_rec_calculate_rel(unsigned char *buf)
{
    unsigned int peak = 0;

    if(!bolt_rec_rel_enabled)
    {
        return 0;
    }

    for(unsigned int scanLine = 0; scanLine < bolt_rec_scanlines; scanLine++)
    {
        unsigned short *line = bolt_rec_rel_scanlines[scanLine];

        for(unsigned int pos = 0; pos < MIN((bolt_rec_x_end-bolt_rec_x_start), MAX_WIDTH); pos++)
        {
            unsigned short value = raw_get_pixel_ex(buf, bolt_rec_x_start + pos, (scanLine + 1) * bolt_rec_y_step);
            unsigned short last = line[pos];
            unsigned short delta = ABS(value-last);

            peak = MAX(delta, peak);
            line[pos] = value;
        }
    }

    /* update maximum value for plot */
    bolt_rec_rel_max = MAX(bolt_rec_rel_max, peak);

    /* put max value into plot buffers */
    bolt_rec_rel_peak[bolt_rec_rel_log_pos] = peak;
    bolt_rec_rel_log_pos = (bolt_rec_rel_log_pos + 1) % LOG_ENTRIES;

    /* check if the detection routine detected activity */
    if(peak > bolt_rec_rel_trigger)
    {
        return 1;
    }

    return 0;
}

static void bolt_rec_calculate(unsigned char *buffer)
{
    unsigned int abs_detection = bolt_rec_calculate_abs(buffer);
    unsigned int rel_detection = bolt_rec_calculate_rel(buffer);

    /* yet is is hardcoded */
    if(abs_detection || rel_detection)
    {
bolt_rec_recording = 1;
        bolt_rec_post_frames_recorded = 0;
    }
    else
    {
        if(bolt_rec_recording)
        {
            if(bolt_rec_post_frames_recorded < bolt_rec_post_frames)
            {
                bolt_rec_post_frames_recorded++;
            }
            else
            {
                /* stop recording, but make sure that the buffered frames get saved */
                bolt_rec_recording = 0;

            }
        }
    }
}

static unsigned int bolt_rec_vsync_cbr(unsigned int unused)
{
    if(!bolt_rec_enabled)
    {
        bolt_rec_rel_max = 0;
        bolt_rec_abs_max = 0;
        return 0;
    }

    bolt_rec_update_resolution();

    /* we are increasing that variable on every call, where the raw_rec callback resets is.
       this is for detecting where the values should be calculated.
      */
    if(bolt_rec_vsync_calls > 10)
    {
        bolt_rec_calculate(raw_info.buffer);
    }

    bolt_rec_vsync_calls++;
    return 0;
}

/* public function, is linked with raw_rec */
unsigned int raw_rec_cbr_skip_frame(unsigned char *buf)
{
    /* when bolt_rec is disabled, dont skip any frames */

    if(!bolt_rec_enabled)
    {
        bolt_rec_rel_max = 0;
        bolt_rec_abs_max = 0;

        return 0;
    }

    bolt_rec_update_resolution();

    /* make sure the vsync function doesnt calculate */
    bolt_rec_vsync_calls = 0;

    /* run detection algorithms */
    bolt_rec_calculate(buf);

    return !bolt_rec_recording;

}

/* we always throw away the buffered frames and save the new ones */
unsigned int raw_rec_cbr_skip_buffer(unsigned int buffer_index, unsigned int frame_count, unsigned int buffer_count)
{
    if(!bolt_rec_enabled)
    {
        return 0;
    }
   
    bolt_rec_buffered -= frame_count;
    return 1;

}

/* REL GRAPH */

static void bolt_rec_rel_plot(unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned short *bg_plot, unsigned short *fg_plot, unsigned int start, unsigned int entries, unsigned short trigger, unsigned short max)
{
    /* fill background */
    bmp_fill(plot_bg_color, x, y, w, h);

    /* plot values */
    int offset = start;
    for(unsigned int entry = 0; entry < entries; entry++)
    {
        int pos = (offset + entry) % entries;
        int line_x = x + entry;
        int line_y = y + h;

        if(bg_plot)
        {
            draw_line(line_x, line_y, line_x, line_y - (bg_plot[pos] * h / max), plot_color);
        }
    }

    /* draw trigger value */
    unsigned int trigVal = MIN(h,trigger * h / max);
    draw_line(x - 1, y + h - trigVal, x + w + 1, y + h - trigVal, COLOR_WHITE);
}

void bolt_rec_rel_update_plots(int x, int y)
{
/* Paint Borders Around Plots */
    bmp_fill(COLOR_GRAY(30), x - 6, y - 6 + bolt_rec_plot_height, LOG_ENTRIES + 12, bolt_rec_plot_height + 12);
 
/* paint plots */
    bolt_rec_rel_plot(x, y + bolt_rec_plot_height, LOG_ENTRIES, bolt_rec_plot_height, bolt_rec_rel_peak, NULL, bolt_rec_rel_log_pos, LOG_ENTRIES, bolt_rec_rel_trigger, bolt_rec_rel_max);

/* print text into plot */
    bmp_printf(SHADOW_FONT(FONT_MED), x + 2, y + bolt_rec_plot_height + 8, "Rec: %s", bolt_rec_recording?"ON ":"OFF");
}

/* ABS PLOTS */

static void bolt_rec_abs_plot(unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned short *bg_plot, unsigned short *fg_plot, unsigned int start, unsigned int entries, unsigned short trigger, unsigned short max)
{
    /* fill background */
    bmp_fill(plot_bg_color, x, y, w, h);

    /* plot values */
    int offset = start;
    for(unsigned int entry = 0; entry < entries; entry++)
    {
        int pos = (offset + entry) % entries;
        int line_x = x + entry;
        int line_y = y + h;

        if(bg_plot)
        {
            draw_line(line_x, line_y, line_x, line_y - (bg_plot[pos] * h / max), plot_color);
        }
    }

    /* draw trigger value */
    unsigned int trigVal = MIN(h,trigger * h / max);
    draw_line(x - 1, y + h - trigVal, x + w + 1, y + h - trigVal, COLOR_WHITE);
}

void bolt_rec_abs_update_plots(int x, int y)
{
/* Paint Borders Around Plots */
    bmp_fill(COLOR_GRAY(30), x - 6, y - 6, LOG_ENTRIES + 12, bolt_rec_plot_height + 12);

/* paint plots */
    bolt_rec_abs_plot(x, y, LOG_ENTRIES, bolt_rec_plot_height, bolt_rec_abs_peak, bolt_rec_abs_avg, bolt_rec_abs_log_pos, LOG_ENTRIES, bolt_rec_abs_trigger, bolt_rec_abs_max);

/* print text into plot */
    bmp_printf(SHADOW_FONT(FONT_MED), x + 2, y + 2, "Rec: %s", bolt_rec_recording?"ON ":"OFF");
}

static MENU_UPDATE_FUNC(bolt_rec_update_plot_menu)
{
    if(entry->selected && bolt_rec_enabled && bolt_rec_abs_enabled && lv)
    {
        bolt_rec_abs_update_plots(plot_lr_position, plot_tb_position);
    }
    if(entry->selected && bolt_rec_enabled && bolt_rec_rel_enabled && lv)
    {
        bolt_rec_rel_update_plots(plot_lr_position, plot_tb_position);
    }
}

static void bolt_rec_abs_plot_task()
{
    while(1)
    {
        if(!gui_menu_shown() && bolt_rec_enabled && bolt_rec_abs_enabled && lv)
        {
            bolt_rec_abs_update_plots(plot_lr_position, plot_tb_position);
        }
        msleep(100);
    }
}


static void bolt_rec_rel_plot_task()
{
    while(1)
    {
        if(!gui_menu_shown() && bolt_rec_enabled && bolt_rec_rel_enabled && lv)
        {
            bolt_rec_rel_update_plots(plot_lr_position, plot_tb_position);
        }
        msleep(100);
    }
}

static MENU_SELECT_FUNC(bolt_rec_toggle)
{
    bolt_rec_enabled = !bolt_rec_enabled;

    /* toggle the lv_save_raw flag from raw.c */
    if (bolt_rec_enabled)
    {
        raw_lv_request();
        raw_update_params();
    }
    else
    {
        raw_lv_release();
    }
    msleep(50);
}

static struct menu_entry bolt_rec_menu[] =
{
    {
        .name = "Bolt Trigger",
        .priv = &bolt_rec_enabled,
        .select = &bolt_rec_toggle,
        .max = 1,
        .submenu_width = 710,
        .depends_on = DEP_LIVEVIEW,
        .help = "Record 14-bit RAW video of lightning bolts.",
        .children =  (struct menu_entry[]) {
            {
                .name = "Post-bolt frame count",
                .priv = &bolt_rec_post_frames,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 1000,
            },
            {
                .name = "Plot FG Color",
                .priv = &plot_color,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 26,
            },
            {
                .name = "Plot BG Color",
                .priv = &plot_bg_color,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 26,
            },
            {
                .name = "Plot Height",
                .priv = &bolt_rec_plot_height,
.update = &bolt_rec_update_plot_menu,
                .min = 20,
                .max = 105,
            },
            {
                .name = "Scanlines",
                .priv = &bolt_rec_scanlines,
.update = &bolt_rec_update_plot_menu,
                .min = 1,
                .max = MAX_SCANLINES,
            },
            {
                .name = "Abs: trigger enabled",
                .priv = &bolt_rec_abs_enabled,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 1,
            },
            {
                .name = "Rel: trigger enabled",
                .priv = &bolt_rec_rel_enabled,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 1,
            },
            {
                .name = "Abs: trigger value",
                .priv = &bolt_rec_abs_trigger,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 16384,
            },
            {
                .name = "Rel: trigger value",
                .priv = &bolt_rec_rel_trigger,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 16384,
            },
            MENU_EOL,
        },
    }
};

static unsigned int bolt_rec_init()
{
    for(int pos = 0; pos < MAX_SCANLINES; pos++)
    {
        bolt_rec_rel_scanlines[pos] = &bolt_rec_rel_scanline_buf[MAX_WIDTH * pos];
    }

    menu_add("Movie", bolt_rec_menu, COUNT(bolt_rec_menu));

    task_create("bolt_rec_rel_plot_task", 0x1e, 0x1000, bolt_rec_rel_plot_task, (void*)0);
    task_create("bolt_rec_abs_plot_task", 0x1e, 0x1000, bolt_rec_abs_plot_task, (void*)0);
    return 0;
}

static unsigned int bolt_rec_deinit()
{

    raw_lv_release();
    return 0;
}



MODULE_INFO_START()
    MODULE_INIT(bolt_rec_init)
    MODULE_DEINIT(bolt_rec_deinit)
MODULE_INFO_END()

MODULE_STRINGS_START()
    MODULE_STRING("Description", "start video on lightning")
    MODULE_STRING("License", "GPL")
    MODULE_STRING("Author", "g3gg0")
    MODULE_STRING("Credits", "a1ex (raw_rec)")
MODULE_STRINGS_END()

MODULE_CBRS_START()
    MODULE_CBR(CBR_VSYNC, bolt_rec_vsync_cbr, 0)
MODULE_CBRS_END()

MODULE_CONFIGS_START()
    MODULE_CONFIG(bolt_rec_enabled)
    MODULE_CONFIG(bolt_rec_post_frames)
    MODULE_CONFIG(bolt_rec_plot_height)
    MODULE_CONFIG(bolt_rec_scanlines)
    MODULE_CONFIG(bolt_rec_rel_enabled)
    MODULE_CONFIG(bolt_rec_rel_trigger)
    MODULE_CONFIG(bolt_rec_abs_enabled)
    MODULE_CONFIG(bolt_rec_abs_trigger)
    MODULE_CONFIG(plot_color)
    MODULE_CONFIG(plot_bg_color)
MODULE_CONFIGS_END()

Im sure anything useful I changed you probably know a much easier way of writing it out, shortcuts or whatever, lol! I just stared at your code for an hour trying to see how it was doing things then tried adding things and they worked out ok.  :)

Oh, and I only added unsigned to the CONFIG_INT lines to get rid of the warning, wasn't sure if the warnings mattered but it stopped them during compile.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 14, 2013, 09:12:56 PM
So is there anyway to link your trigger module to Silent Picture Burst End Trigger, I really like everything about how it works, other then you have to hold the shutter button down half till a bolt strike because sometimes I might be looking at another part of the sky and miss a bolt that struck in front of the cam. But the amount of frames it records before and after strike is perfect plus the preview it gives when saving to card, the whole thing is just perfect, but would be ultimate if your trigger just the way it is when the abs hits the trigger value it activates the half shutter so it starts saving. But also have a menu choice to start the capture which would be a press and hold half shutter.

The bolt trigger does work from detection and post, but sometimes scary when you can't see a quick preview because bolts can be overexposed and you may need to adjust your aperture along the way so its nice the way the silent picture end trigger works, I would not change anything about but ling your trigger as a half shutter press when trigger value is reach. And after use rel and abs, abs is the better one for bolts, less chance of it going off by something else other then lightning.

Or may just have it trigger half shutter press to save and we can use half shutter hold to keep start capturing?

Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 14, 2013, 10:54:00 PM
uh hehe. let me first try to find the bug you reported. :)
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 15, 2013, 12:08:40 AM
uh hehe. let me first try to find the bug you reported. :)
ok cool  :)
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 15, 2013, 05:24:35 PM
i cannot reproduce the bug you said.
with a similar setup i fired the flash 4 times and waited a bit. every time it recorded what i expected.

i implemented a tracing module to see what is happening and found some things that i didnt think of, but that should not make any difference.
are you sure you used the latest one?

i set up an experimental fork here: https://bitbucket.org/g3gg0/magic-lantern
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 15, 2013, 05:53:58 PM
can you tell me your setup?

parameters and the time between flashes that caused the problems you described.
Title: Re: Bolt trigger module test results
Post by: Kim.dh on June 15, 2013, 08:14:34 PM
Mk, sorry for asking this (I am on a bad laptop on an expensive gprs connection or I would attempt it myself);
My build (v2.3 NEXT Jun 3rd for 550d) is unable to load the bolt module you linked (error: OldAPI Wrong version v1.3, expected 1.2).

If it wont take you too long and it is possible, could you compile it for v1.3? Thanks in advance.
Title: Re: Bolt trigger module test results
Post by: 1% on June 15, 2013, 08:20:58 PM
On 600D for some reason I get a memory error even though I can load the other modules fine and the bin just went down by like 100K.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 15, 2013, 09:36:39 PM
Mk, sorry for asking this (I am on a bad laptop on an expensive gprs connection or I would attempt it myself);
My build (v2.3 NEXT Jun 3rd for 550d) is unable to load the bolt module you linked (error: OldAPI Wrong version v1.3, expected 1.2).

If it wont take you too long and it is possible, could you compile it for v1.3? Thanks in advance.

you have an old ML core, the plugin is newer
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 15, 2013, 10:09:35 PM
can you tell me your setup?

parameters and the time between flashes that caused the problems you described.
I used the latest source from main repository to try your pre buffer version, all fresh and new source download, no changes to it other than adding my user file to main folder to make sure it was clean.

I compiled with pre made toolchain, I made the files in bolt_rec and raw_rec then compiled for my 550D

I thin set my camera to movie mode 1920x1080x30fps in canon menu, I then set bolt trigger to all your default settings first to try it and turn on raw rec with all its default settings and set up an A/C flash bulb, and I aim it at a grey wall so I get better spread like a sky, then I set my cam up 6 feet away and aim it at the wall.

I then start record and all seemed fine, I then fire the flash by remote, it sets off 1 single burst,  and it detects it and records like it should, I then press record to stop and extract my RAW file to DNGs and never see the flash, its always frames before the flash and after that show, always misses the flash.

I tried with changing post frames from 10 to 5, 5 to 0, and still same results.

I tried switching to differ movie mode in Canon menu, I tried photo mode, I tried using differ preview mode in raw_rec, all same results.

The only one that records the flash and post frames is the one from the code I sent you that I changed a bit. No pre buffer either of coarse but at least the flash.

Maybe 550D handles it differ then your camera?  :-\
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 15, 2013, 10:11:15 PM
Mk, sorry for asking this (I am on a bad laptop on an expensive gprs connection or I would attempt it myself);
My build (v2.3 NEXT Jun 3rd for 550d) is unable to load the bolt module you linked (error: OldAPI Wrong version v1.3, expected 1.2).

If it wont take you too long and it is possible, could you compile it for v1.3? Thanks in advance.
Since your on 550D I can hook you up with my bin and modules that will work on your camera?
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 15, 2013, 10:15:11 PM
On 600D for some reason I get a memory error even though I can load the other modules fine and the bin just went down by like 100K.
Here too occasionally I get memory.c error on first boot then restart it works fine, or if I try autoload, but if I dont use autoload no memory crash, or if I dont try to load to many modules, just raw_rec and bolt_rec, if I add more modules like file_man and pic_view then memory issues happen for sure.

This happens on any of the builds though so it might just be to many modules runs out of memory may not have anything to do with bolt_rec at all.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 15, 2013, 10:18:07 PM
can you compile the whole ML from there?
https://bitbucket.org/g3gg0/magic-lantern

including these modules: trace, bolt_rec, raw_rec
Title: Re: Bolt trigger module test results
Post by: 1% on June 15, 2013, 10:21:01 PM
Will have to try that and only bolt_rec + raw_rec again. Before I just tried the 2 and still had a memory error. If I load file man and crew + raw rec I still have 1MB free.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 15, 2013, 10:33:11 PM
OK, will try compile.

I really like the trigger I am using now, it works very nice even though no pre buffer, but for pre buffer if I want that I just use Silent Picture with End Trigger option, that is perfect for me now to because I changed code in shoot.c so I dont have to hold the half shutter anymore plus I made a half shutter remote, now just 1 tap on my hand remote starts capturing buffer, when I see a bolt I just do 1 more tap and all my buffer frames get saved to card, pre - main flash, and post, and shows a preview so you can see your bolt, very nifty.

But the bolt trigger is nice when you cant be at camera, so good to have both options.

And make note: anyone else, Alex made changes to ML Shutter this morning we now don't get close enough to 360 degrees anymore so this brings your chances down alot leaving you with a blank gap during flashes because of rolling shutter, no way to connect images if they get split onto 2 frames, so build older or makes changes getting rid of his changes if you want success.

Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 15, 2013, 10:35:07 PM
Will have to try that and only bolt_rec + raw_rec again. Before I just tried the 2 and still had a memory error. If I load file man and crew + raw rec I still have 1MB free.


#define MAX_SCANLINES 20
#define MAX_WIDTH     6000

bolt_rec reserves 20*6000*2 bytes (240k) for storing the scan lines that it is going to subtract.
you can reduce MAX_SCANLINES to e.g. 5 or so.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 15, 2013, 10:48:59 PM
can you compile the whole ML from there?
https://bitbucket.org/g3gg0/magic-lantern

including these modules: trace, bolt_rec, raw_rec
Ok straight compile from your source, same exact results, after 4 single burst which I do only when I see the frames are finished saving from the text I see on screen, after 4 saves the 5th one starts a continuous record all by itself, and in the end, no flashes were captured still, I tried same changes in settings as I replied before, still no luck. 550D must just not be any good for this setup.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 15, 2013, 10:49:38 PM

#define MAX_SCANLINES 20
#define MAX_WIDTH     6000

bolt_rec reserves 20*6000*2 bytes (240k) for storing the scan lines that it is going to subtract.
you can reduce MAX_SCANLINES to e.g. 5 or so.
good to know!  ;)

And 5 is a good number to use to covers all ranges of sky nicely whether it is crawler or cg.

And I noticed you to have the latest shutter speed change, in your source you dont get the 359 and 360 shutter anymore, this will make most of your flashes with a fat gap from the rolling shutter.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 15, 2013, 10:51:34 PM
can you check your cards root dir? there is a bolt_rec.log file  -> upload.g3gg0.de
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 15, 2013, 10:55:30 PM
can you check your cards root dir? there is a bolt_rec.log file  -> upload.g3gg0.de
I checked every folder and shown hidden one just in case, no log file?

I am getting a Failed to prepare Config error when I load modules, but all loaded still? Never saw this error on other compiles?

(http://s23.postimg.org/gax4kok5n/VRAM0.png)

By the way, I wiped card before compiling this build to card, so it is all fresh.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 15, 2013, 11:04:40 PM
the log was only written on 5D3 due to me forgetting to specify drive letter.
i fixed that bugs. just recompile.

(that error message is due missing xml_cfg module that is for loading/saving module config into presets etc)
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 15, 2013, 11:14:29 PM
(http://s8.postimg.org/dm8ebs4fp/28850036.jpg)

This is what you will get if your images get split with Alex's new changes to the shutter, no way to fix them, so you have to hope for a flash to happen on a good time of the scan of the rolling shutter.

So just keep in mind.

This was taking with silent picture method by the way.

And ok g3g I will try new build.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 15, 2013, 11:24:51 PM
the log was only written on 5D3 due to me forgetting to specify drive letter.
i fixed that bugs. just recompile.

(that error message is due missing xml_cfg module that is for loading/saving module config into presets etc)
Got got source again, still no log file?

This is what my code says now, maybe has to be differ for sd cards?

Code: [Select]
    char file[64];
    sprintf(file, "%sbolt_rec.log", MODULE_CARD_DRIVE);
    bolt_rec_trace_ctx = trace_start("bolt_rec", file);
   
    trace_format(bolt_rec_trace_ctx, TRACE_FMT_TIME_REL, TRACE_SEPARATOR_DEFAULT);

By the way, I am only getting 3 flashes off then it starts recording all by itself, and of coarse no flash frame saved.
Title: Re: Bolt trigger module test results
Post by: Kim.dh on June 15, 2013, 11:37:49 PM
Since your on 550D I can hook you up with my bin and modules that will work on your camera?
Yes please =) The one I am using now is giving me the best results with raw video, hopefully yours is comparable.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 16, 2013, 12:27:54 AM
Yes please =) The one I am using now is giving me the best results with raw video, hopefully yours is comparable.
are u using Magic or Tragic for raw rec? Are you compiling yourself, if so are you using latest source from bitbucket, mine is all updated to this morning.
Title: Re: Bolt trigger module test results
Post by: Kim.dh on June 16, 2013, 01:09:44 AM
are u using Magic or Tragic for raw rec? Are you compiling yourself, if so are you using latest source from bitbucket, mine is all updated to this morning.

I am using the June 3rd Unified (Magic) with file manager you posted on the 550d thread, unfortunately I am at the summer house on an expensive connection so I am not going to set up what I need for compiling a build before I get home in a week. But don't worry about wasting your time on me unless you have already uploaded a build.

Thanks!
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 16, 2013, 01:17:48 AM
For 550D only!

http://www.mediafire.com/download/fajdpkvuwqu8mn7/ML_Bolt_June_15_2013.zip (http://www.mediafire.com/download/fajdpkvuwqu8mn7/ML_Bolt_June_15_2013.zip)

This is the version I am using, it is up to date with main repository all except I went back and got rid of Alex's changes to the shutter speed so we can have 359 degree close as we can to 360 for our lightning bolts.

This is the bolt trigger I use so it is the one with my changes, hope that is ok because the pre buffer one does not work on our cam as of now.

I have a few modules load, but dont set them to auto load, manually load them at start to minimize crash, I have not tweak the scanline define yet in the trigger yet to free some mem up, but if it crashes first time you load, just restart cam should work fine after that.

If you are going for lightning I would recommend using settings I mentioned earlier in the thread or you will have bad missing parts of your image during the main flash do to rolling shutter.

This was compiled also with the Magic Raw, not as many features as Tragic Raw but more stable for me. You can try adding the tragic.mo to modules folder to see if it still works if that is the one you use.

Oh, also includes my change to Silent Picture end trigger so you dont have to hold half shutter, you just press once, it will capture buffer then when you see a flash just press again and it will record the DNG files with preview. I use this when I can be at the camera, other then that I use the Bolt Trigger.

It is called My Tigger in this build only cause at a time I had both the original and mine loaded at same time to test so I had to give differ name.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 16, 2013, 01:34:38 AM
can you retry the latest version and send me the log if its there?
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 16, 2013, 01:36:37 AM
I went back and got rid of Alex's changes to the shutter speed so we can have 359 degree close as we can to 360 for our lightning bolts.

which changeset do you talk about? can you link it or name me the hash?
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 16, 2013, 01:55:21 AM
which changeset do you talk about? can you link it or name me the hash?
https://bitbucket.org/hudson/magic-lantern/commits/7fcfcc58f22623d4577c0e97f7bd0eaec9cc390a (https://bitbucket.org/hudson/magic-lantern/commits/7fcfcc58f22623d4577c0e97f7bd0eaec9cc390a)
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 16, 2013, 02:11:49 AM
can you retry the latest version and send me the log if its there?
K after 9 detections it had mind of its own and no flashes captured.
 I upped log file.
http://upload.g3gg0.de/pub_files/92ba3fe9e6c04f956ff57700d8f44746/BOLT_REC.LOG (http://upload.g3gg0.de/pub_files/92ba3fe9e6c04f956ff57700d8f44746/BOLT_REC.LOG)
Title: Re: Bolt trigger module test results
Post by: Kim.dh on June 16, 2013, 05:47:22 PM
Thanks alot Mk! I didn't find the post you mentioned with the settings,  but I assume you mean that I should set fps override to shutter speeds that is integer fractions/multiples of 360. So:

-In video mode (I don't have 1080p@30 fps available, so ill try 25 and 24)
-Shutter speed=360*x=Z
-RAW video and my trigger modules set to ON.
-point camera at storm

How is the reaction time compared to "Motion Detect"? I found I only got 1 bolt out of 10 using this.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 16, 2013, 05:59:27 PM
Ok i checked the logfile.
The good thing is, it doesnt look like a bug.

The bad thing: your camera has only two buffers and a slow write speed.
So while tha raw_rec module is saving the frames right before the flash, the images of the flash itself dont fit into memory.
Can you try with a lower resolution?
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 16, 2013, 06:02:46 PM
Thanks alot Mk! I didn't find the post you mentioned with the settings,  but I assume you mean that I should set fps override to shutter speeds that is integer fractions/multiples of 360. So:

-In video mode (I don't have 1080p@30 fps available, so ill try 25 and 24)
-Shutter speed=360*x=Z
-RAW video and my trigger modules set to ON.
-point camera at storm

How is the reaction time compared to "Motion Detect"? I found I only got 1 bolt out of 10 using this.

Did you increase the scanline count?
I didnt have had any storm yet since months so i could only test with lasers and flashes.

I am using a 5d3 and it works fine. Didnt test on 600d yet
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 16, 2013, 07:13:49 PM
Did you increase the scanline count?
I didnt have had any storm yet since months so i could only test with lasers and flashes.

I am using a 5d3 and it works fine. Didnt test on 600d yet
I think he meant the regular motion detector, not ur trigger.

I have had storms and your trigger works fine, I only had weak storms so far and it still works, I am hoping the big storms will start soon, this is the prime time of the year for me in Florida.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 16, 2013, 07:17:02 PM
Ok i checked the logfile.
The good thing is, it doesnt look like a bug.

The bad thing: your camera has only two buffers and a slow write speed.
So while tha raw_rec module is saving the frames right before the flash, the images of the flash itself dont fit into memory.
Can you try with a lower resolution?
Yeah, that was the first thing I thought of, I tried 640x480 still same results.

I am good with the way it works though, maybe in the end you might just need to have 2 different triggers one for the sd cameras and one for the cf cameras like your 5d3.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 16, 2013, 07:27:24 PM
Thanks alot Mk! I didn't find the post you mentioned with the settings,  but I assume you mean that I should set fps override to shutter speeds that is integer fractions/multiples of 360. So:

-In video mode (I don't have 1080p@30 fps available, so ill try 25 and 24)
-Shutter speed=360*x=Z
-RAW video and my trigger modules set to ON.
-point camera at storm

How is the reaction time compared to "Motion Detect"? I found I only got 1 bolt out of 10 using this.
Yeah, just use the slowest shutter your cam allows using ML exposure override on mine with 30P NTSC mine is 1/29 359degrees the best results come from using fps at 14.985 and shutter 1/15 which also shows 359 degrees in ML make sure your in Movie Mode too.

As long as you set it to as slow as ML allows for your fps you choose I guess here my 30fps would be 25fps where you are if you have 1920x1080x25P.

The reaction is much much better then motion detector, I get every bolt that strikes in front of lens, I use 5 scan lines to spread them out in case I get crawlers and cg mixed or have a low cloud base and the cgs only visible in the lower half of screen.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 17, 2013, 03:32:33 AM
I updated the bolt trigger with the lower max scanlines so according to g3gg0 should help with the mem crash at module load if it ever even happens.

I also made the trigger value white line thicker so you can see it better out on brighter skies.

http://www.mediafire.com/download/fy5becg9erxoatg/ML_550D_June_16_2013_Fix.zip
Title: Re: Bolt trigger module test results
Post by: 1% on June 17, 2013, 04:30:58 AM
Guessing 600D will work with reduced scan lines if 550D does.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 17, 2013, 04:59:59 AM
Guessing 600D will work with reduced scan lines if 550D does.
Dont see why not.  :) In case u want the source of the one I am using that works with the 550D to see if it works with the 600D, here you go.

Code: [Select]
/**
 * bolt_rec:
 * This module is designed to be used together with raw_rec.
 * It will extend raw_rec to trigger on lightning bolts and record for a defined amount of frames.
 * Due to the modular design of raw_rec, you don't have to change or configure it for bolt_rec.
 * As soon bolt_rec is being loaded, raw_rec knows what to do.
 *
 * It has two detection modes, absolute and relative.
 *
 * absolute:
 *   When a single pixel brightness gets above defined level (default=10000), recording starts.
 *
 * relative:
 *   Pixel brightness is compared to the previous level and starts when a single pixel delta (unsigned) gets above defined level (default=1000)
 *
 * As it would be too expensive to check every single pixel in the image, there are only a few pixels that get checked.
 * I decided to do it by lines, called "scanlines". A scanline is a complete horizontal row of pixels.
 * Please remind that we are working on raw bayer pattern, so it will scan RGRGRGRG or GBGBGBGB depending on the line count.
 * But I dont think that is an issue, as we want to record lightnings that are usually white. At least in germany they are ;)
 *
 * Scanlines are distributed over the whole image. If you select 1, then there is a single scanline in the center of the screen.
 * When selecting 2 scanlines, they will divide the image into 3 blocks, so one is at y = 1/3 * yRes.
 * Generic formula: distance = yRes / (scanlines + 1)
 *
 * Still missing is the "pre-buffering" as it requires a lot of changes in raw_rec that I didn't start yet.
 *
 * Please share your results :)
 *
 * __
 * g3gg0
 */

#include <module.h>
#include <dryos.h>
#include <property.h>
#include <bmp.h>
#include <menu.h>
#include <config.h>
#include <shoot.h>
#include "raw.h"
#include <beep.h>

#define LOG_ENTRIES   110
#define MAX_SCANLINES 5
#define MAX_WIDTH     6000

/* interface functions required by raw_rec */
unsigned int raw_rec_cbr_starting();
unsigned int raw_rec_cbr_stopping();
unsigned int raw_rec_cbr_skip_frame(unsigned char *frame_data);
unsigned int raw_rec_cbr_skip_buffer(unsigned int buffer_index, unsigned int frame_count, unsigned int buffer_count);


/* recording options */
unsigned CONFIG_INT("enabled", bolt_rec_enabled, 0);
unsigned CONFIG_INT("post_frames", bolt_rec_post_frames, 16);
unsigned CONFIG_INT("plot_height", bolt_rec_plot_height, 105);
unsigned CONFIG_INT("color", plot_color, 15);
unsigned CONFIG_INT("bg_color", plot_bg_color, 3);

unsigned int plot_tb_position = 85;
unsigned int plot_lr_position = 594;
unsigned int bolt_rec_buffered = 0;

/* state variables */
unsigned int bolt_rec_recording = 0;
unsigned int bolt_rec_post_frames_recorded = 0;
unsigned int bolt_rec_vsync_calls = 0;

/* trigger method options */
unsigned CONFIG_INT("scanlines",   bolt_rec_scanlines,   5);
unsigned CONFIG_INT("rel_enabled", bolt_rec_rel_enabled, 0);
unsigned CONFIG_INT("rel_trigger", bolt_rec_rel_trigger, 3000);
unsigned CONFIG_INT("abs_enabled", bolt_rec_abs_enabled, 1);
unsigned CONFIG_INT("abs_trigger", bolt_rec_abs_trigger, 10000);

/* trigger method data */
unsigned short bolt_rec_rel_max = 800;
unsigned int bolt_rec_rel_log_pos = 0;
unsigned short bolt_rec_rel_peak[LOG_ENTRIES];
unsigned short *bolt_rec_rel_scanlines[MAX_SCANLINES];
unsigned short bolt_rec_rel_scanline_buf[MAX_SCANLINES * MAX_WIDTH];

unsigned short bolt_rec_abs_max = 800;
unsigned int bolt_rec_abs_log_pos = 0;
unsigned short bolt_rec_abs_peak[LOG_ENTRIES];
unsigned short bolt_rec_abs_avg[LOG_ENTRIES];


/* resolution dependent information, updated every callback */
unsigned int bolt_rec_y_step = 0;
unsigned int bolt_rec_x_start = 0;
unsigned int bolt_rec_x_end = 0;


/* this function reads raw_info */
static void bolt_rec_update_resolution()
{
    bolt_rec_y_step = raw_info.height / (bolt_rec_scanlines + 1);
    bolt_rec_x_start = raw_info.active_area.x1;
    bolt_rec_x_end = raw_info.active_area.x2;
}

static unsigned int bolt_rec_calculate_abs(unsigned char *buf)
{
    unsigned int pixelCount = 0;
    unsigned int peak = 0;
    unsigned int sum = 0;

    if(!bolt_rec_abs_enabled)
    {
        return 0;
    }

    for(unsigned int scanLine = 0; scanLine < bolt_rec_scanlines; scanLine++)
    {
        for(unsigned int pos = 0; pos < (bolt_rec_x_end-bolt_rec_x_start); pos++)
        {
            unsigned short value = raw_get_pixel_ex(buf, bolt_rec_x_start + pos, (scanLine + 1) * bolt_rec_y_step);

            sum += value;
            peak = MAX(value, peak);
            pixelCount++;
        }
    }

    sum /= pixelCount;

    /* update maximum value for plot */
    bolt_rec_abs_max = MAX(bolt_rec_abs_max, peak);

    /* put avg and max value into plot buffers */
    bolt_rec_abs_avg[bolt_rec_abs_log_pos] = sum;
    bolt_rec_abs_peak[bolt_rec_abs_log_pos] = peak;
    bolt_rec_abs_log_pos = (bolt_rec_abs_log_pos + 1) % LOG_ENTRIES;

    /* check if the detection routine detected activity */
    if(peak > bolt_rec_abs_trigger)
    {
        return 1;
    }

    return 0;
}

static unsigned int bolt_rec_calculate_rel(unsigned char *buf)
{
    unsigned int peak = 0;

    if(!bolt_rec_rel_enabled)
    {
        return 0;
    }

    for(unsigned int scanLine = 0; scanLine < bolt_rec_scanlines; scanLine++)
    {
        unsigned short *line = bolt_rec_rel_scanlines[scanLine];

        for(unsigned int pos = 0; pos < MIN((bolt_rec_x_end-bolt_rec_x_start), MAX_WIDTH); pos++)
        {
            unsigned short value = raw_get_pixel_ex(buf, bolt_rec_x_start + pos, (scanLine + 1) * bolt_rec_y_step);
            unsigned short last = line[pos];
            unsigned short delta = ABS(value-last);

            peak = MAX(delta, peak);
            line[pos] = value;
        }
    }

    /* update maximum value for plot */
    bolt_rec_rel_max = MAX(bolt_rec_rel_max, peak);

    /* put max value into plot buffers */
    bolt_rec_rel_peak[bolt_rec_rel_log_pos] = peak;
    bolt_rec_rel_log_pos = (bolt_rec_rel_log_pos + 1) % LOG_ENTRIES;

    /* check if the detection routine detected activity */
    if(peak > bolt_rec_rel_trigger)
    {
        return 1;
    }

    return 0;
}

static void bolt_rec_calculate(unsigned char *buffer)
{
    unsigned int abs_detection = bolt_rec_calculate_abs(buffer);
    unsigned int rel_detection = bolt_rec_calculate_rel(buffer);

    /* yet is is hardcoded */
    if(abs_detection || rel_detection)
    {
bolt_rec_recording = 1;
beep();
        bolt_rec_post_frames_recorded = 0;
    }
    else
    {
        if(bolt_rec_recording)
        {
            if(bolt_rec_post_frames_recorded < bolt_rec_post_frames)
            {
                bolt_rec_post_frames_recorded++;
            }
            else
            {
                /* stop recording, but make sure that the buffered frames get saved */
                bolt_rec_recording = 0;

            }
        }
    }
}

static unsigned int bolt_rec_vsync_cbr(unsigned int unused)
{
    if(!bolt_rec_enabled)
    {
        bolt_rec_rel_max = 0;
        bolt_rec_abs_max = 0;
        return 0;
    }

    bolt_rec_update_resolution();

    /* we are increasing that variable on every call, where the raw_rec callback resets is.
       this is for detecting where the values should be calculated.
      */
    if(bolt_rec_vsync_calls > 10)
    {
        bolt_rec_calculate(raw_info.buffer);
    }

    bolt_rec_vsync_calls++;
    return 0;
}

/* public function, is linked with raw_rec */
unsigned int raw_rec_cbr_skip_frame(unsigned char *buf)
{
    /* when bolt_rec is disabled, dont skip any frames */

    if(!bolt_rec_enabled)
    {
        bolt_rec_rel_max = 0;
        bolt_rec_abs_max = 0;

        return 0;
    }

    bolt_rec_update_resolution();

    /* make sure the vsync function doesnt calculate */
    bolt_rec_vsync_calls = 0;

    /* run detection algorithms */
    bolt_rec_calculate(buf);

    return !bolt_rec_recording;

}

/* we always throw away the buffered frames and save the new ones */
unsigned int raw_rec_cbr_skip_buffer(unsigned int buffer_index, unsigned int frame_count, unsigned int buffer_count)
{
    if(!bolt_rec_enabled)
    {
        return 0;
    }
   
    bolt_rec_buffered -= frame_count;
    return 1;

}

/* REL GRAPH */

static void bolt_rec_rel_plot(unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned short *bg_plot, unsigned short *fg_plot, unsigned int start, unsigned int entries, unsigned short trigger, unsigned short max)
{
    /* fill background */
    bmp_fill(plot_bg_color, x, y, w, h);

    /* plot values */
    int offset = start;
    for(unsigned int entry = 0; entry < entries; entry++)
    {
        int pos = (offset + entry) % entries;
        int line_x = x + entry;
        int line_y = y + h;

        if(bg_plot)
        {
            draw_line(line_x, line_y, line_x, line_y - (bg_plot[pos] * h / max), plot_color);
        }
    }

    /* draw trigger value */
    unsigned int trigVal = MIN(h,trigger * h / max);
    draw_line(x, y + h - trigVal, x + w, y + h - trigVal, COLOR_WHITE);
    draw_line(x, y + h + 1 - trigVal, x + w, y + h + 1 - trigVal, COLOR_WHITE);
    draw_line(x, y + h + 2 - trigVal, x + w, y + h + 2 - trigVal, COLOR_WHITE);
    draw_line(x, y + h + 3 - trigVal, x + w, y + h + 3 - trigVal, COLOR_WHITE);
    draw_line(x, y + h + 4 - trigVal, x + w, y + h + 4 - trigVal, COLOR_WHITE);
    draw_line(x, y + h + 5 - trigVal, x + w, y + h + 5 - trigVal, COLOR_WHITE);
}

void bolt_rec_rel_update_plots(int x, int y)
{
/* Paint Borders Around Plots */
    bmp_fill(COLOR_GRAY(30), x - 6, y - 6 + bolt_rec_plot_height, LOG_ENTRIES + 12, bolt_rec_plot_height + 12);
 
/* paint plots */
    bolt_rec_rel_plot(x, y + bolt_rec_plot_height, LOG_ENTRIES, bolt_rec_plot_height, bolt_rec_rel_peak, NULL, bolt_rec_rel_log_pos, LOG_ENTRIES, bolt_rec_rel_trigger, bolt_rec_rel_max);

/* print text into plot */
    bmp_printf(SHADOW_FONT(FONT_MED), x + 2, y + bolt_rec_plot_height + 8, "Rec: %s", bolt_rec_recording?"ON ":"OFF");
}

/* ABS PLOTS */

static void bolt_rec_abs_plot(unsigned int x, unsigned int y, unsigned int w, unsigned int h, unsigned short *bg_plot, unsigned short *fg_plot, unsigned int start, unsigned int entries, unsigned short trigger, unsigned short max)
{
    /* fill background */
    bmp_fill(plot_bg_color, x, y, w, h);

    /* plot values */
    int offset = start;
    for(unsigned int entry = 0; entry < entries; entry++)
    {
        int pos = (offset + entry) % entries;
        int line_x = x + entry;
        int line_y = y + h;

        if(bg_plot)
        {
            draw_line(line_x, line_y, line_x, line_y - (bg_plot[pos] * h / max), plot_color);
        }
    }

    /* draw trigger value */
    unsigned int trigVal = MIN(h,trigger * h / max);
    draw_line(x, y + h - trigVal, x + w, y + h - trigVal, COLOR_WHITE);
    draw_line(x, y + h + 1 - trigVal, x + w, y + h + 1 - trigVal, COLOR_WHITE);
    draw_line(x, y + h + 2 - trigVal, x + w, y + h + 2 - trigVal, COLOR_WHITE);
    draw_line(x, y + h + 3 - trigVal, x + w, y + h + 3 - trigVal, COLOR_WHITE);
    draw_line(x, y + h + 4 - trigVal, x + w, y + h + 4 - trigVal, COLOR_WHITE);
    draw_line(x, y + h + 5 - trigVal, x + w, y + h + 5 - trigVal, COLOR_WHITE);
}

void bolt_rec_abs_update_plots(int x, int y)
{
/* Paint Borders Around Plots */
    bmp_fill(COLOR_GRAY(30), x - 6, y - 6, LOG_ENTRIES + 12, bolt_rec_plot_height + 12);

/* paint plots */
    bolt_rec_abs_plot(x, y, LOG_ENTRIES, bolt_rec_plot_height, bolt_rec_abs_peak, bolt_rec_abs_avg, bolt_rec_abs_log_pos, LOG_ENTRIES, bolt_rec_abs_trigger, bolt_rec_abs_max);

/* print text into plot */
    bmp_printf(SHADOW_FONT(FONT_MED), x + 2, y + 2, "Rec: %s", bolt_rec_recording?"ON ":"OFF");
}

static MENU_UPDATE_FUNC(bolt_rec_update_plot_menu)
{
    if(entry->selected && bolt_rec_enabled && bolt_rec_abs_enabled && lv)
    {
        bolt_rec_abs_update_plots(plot_lr_position, plot_tb_position);
    }
    if(entry->selected && bolt_rec_enabled && bolt_rec_rel_enabled && lv)
    {
        bolt_rec_rel_update_plots(plot_lr_position, plot_tb_position);
    }
}

static void bolt_rec_abs_plot_task()
{
    while(1)
    {
        if(!gui_menu_shown() && bolt_rec_enabled && bolt_rec_abs_enabled && lv)
        {
            bolt_rec_abs_update_plots(plot_lr_position, plot_tb_position);
        }
        msleep(100);
    }
}


static void bolt_rec_rel_plot_task()
{
    while(1)
    {
        if(!gui_menu_shown() && bolt_rec_enabled && bolt_rec_rel_enabled && lv)
        {
            bolt_rec_rel_update_plots(plot_lr_position, plot_tb_position);
        }
        msleep(100);
    }
}

static MENU_SELECT_FUNC(bolt_rec_toggle)
{
    bolt_rec_enabled = !bolt_rec_enabled;

    /* toggle the lv_save_raw flag from raw.c */
    if (bolt_rec_enabled)
    {
        raw_lv_request();
        raw_update_params();
    }
    else
    {
        raw_lv_release();
    }
    msleep(50);
}

static struct menu_entry bolt_rec_menu[] =
{
    {
        .name = "Bolt Trigger",
        .priv = &bolt_rec_enabled,
        .select = &bolt_rec_toggle,
        .max = 1,
        .submenu_width = 710,
        .depends_on = DEP_LIVEVIEW,
        .help = "Record 14-bit RAW video of lightning bolts.",
        .children =  (struct menu_entry[]) {
            {
                .name = "Post-bolt frame count",
                .priv = &bolt_rec_post_frames,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 1000,
            },
            {
                .name = "Plot FG Color",
                .priv = &plot_color,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 26,
            },
            {
                .name = "Plot BG Color",
                .priv = &plot_bg_color,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 26,
            },
            {
                .name = "Plot Height",
                .priv = &bolt_rec_plot_height,
.update = &bolt_rec_update_plot_menu,
                .min = 20,
                .max = 105,
            },
            {
                .name = "Scanlines",
                .priv = &bolt_rec_scanlines,
.update = &bolt_rec_update_plot_menu,
                .min = 1,
                .max = MAX_SCANLINES,
            },
            {
                .name = "Abs: trigger enabled",
                .priv = &bolt_rec_abs_enabled,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 1,
            },
            {
                .name = "Rel: trigger enabled",
                .priv = &bolt_rec_rel_enabled,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 1,
            },
            {
                .name = "Abs: trigger value",
                .priv = &bolt_rec_abs_trigger,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 16384,
            },
            {
                .name = "Rel: trigger value",
                .priv = &bolt_rec_rel_trigger,
.update = &bolt_rec_update_plot_menu,
                .min = 0,
                .max = 16384,
            },
            MENU_EOL,
        },
    }
};

static unsigned int bolt_rec_init()
{
    for(int pos = 0; pos < MAX_SCANLINES; pos++)
    {
        bolt_rec_rel_scanlines[pos] = &bolt_rec_rel_scanline_buf[MAX_WIDTH * pos];
    }

    menu_add("Movie", bolt_rec_menu, COUNT(bolt_rec_menu));

    task_create("bolt_rec_rel_plot_task", 0x1e, 0x1000, bolt_rec_rel_plot_task, (void*)0);
    task_create("bolt_rec_abs_plot_task", 0x1e, 0x1000, bolt_rec_abs_plot_task, (void*)0);
    return 0;
}

static unsigned int bolt_rec_deinit()
{

    raw_lv_release();
    return 0;
}



MODULE_INFO_START()
    MODULE_INIT(bolt_rec_init)
    MODULE_DEINIT(bolt_rec_deinit)
MODULE_INFO_END()

MODULE_STRINGS_START()
    MODULE_STRING("Description", "start video on lightning")
    MODULE_STRING("License", "GPL")
    MODULE_STRING("Author", "g3gg0")
    MODULE_STRING("Credits", "a1ex (raw_rec)")
MODULE_STRINGS_END()

MODULE_CBRS_START()
    MODULE_CBR(CBR_VSYNC, bolt_rec_vsync_cbr, 0)
MODULE_CBRS_END()

MODULE_CONFIGS_START()
    MODULE_CONFIG(bolt_rec_enabled)
    MODULE_CONFIG(bolt_rec_post_frames)
    MODULE_CONFIG(bolt_rec_plot_height)
    MODULE_CONFIG(bolt_rec_scanlines)
    MODULE_CONFIG(bolt_rec_rel_enabled)
    MODULE_CONFIG(bolt_rec_rel_trigger)
    MODULE_CONFIG(bolt_rec_abs_enabled)
    MODULE_CONFIG(bolt_rec_abs_trigger)
    MODULE_CONFIG(plot_color)
    MODULE_CONFIG(plot_bg_color)
MODULE_CONFIGS_END()


By the way, if anyone knows an easier way to make a thicker line than repeating the code with a 1px offset, please let me know?
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 22, 2013, 03:23:07 AM
(http://s18.postimg.org/ytx9qirbd/June_21_2013_Canon_Bolt03.jpg)

Trigger worked great again, getting closer to my big storm days! This was a multi strike and snagged both strikes no problem! Full day lightning too, not night shot. Shutter speed 1/15    FPS set to 15fps   trigger was just great, it was raining out I put the cam rain sheild on that I made and left it up to the bolt trigger and was amazed how good it worked. I set Raw to my max Res 1728x1156.

THANKS g3gg0!!!!
Title: Re: Bolt trigger module test results
Post by: 1% on June 24, 2013, 09:00:08 PM
Does it still work with new raw_rec?
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 24, 2013, 09:47:47 PM
Does it still work with new raw_rec?
no, I am using old raw_rec with it, I install both, just dont load them auto and manually load the new on and old one when I need it.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 24, 2013, 10:21:29 PM
hey nice to see it working :)
good shot!

didnt have time yet to dig through all the changes alex made and port my code to it.
as alex is still working on the writing code, i am not sure if it makes sense yet to change it.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 24, 2013, 10:48:24 PM
hey nice to see it working :)
good shot!

didnt have time yet to dig through all the changes alex made and port my code to it.
as alex is still working on the writing code, i am not sure if it makes sense yet to change it.
Yeah, probably best to wait, I am just fine using old raw_rec with it though! It works excellent, there is no way I would of got this day shot without it, impossible to know when to hit that shutter button and no way to use long exposure on a day sky, I barelt could deal with 1/15 shutter, using the ND8 and closing my aperture almost all the way made it possible of coarse and the detector did what it was suppose to do! I was really impressed with this because it was a multistrike and it easily caught both.

I added a beep(); to the detection code so it is super exciting to hear that beep beep when your not by the cam cause your working the video cam, and the beep beep also happens when it the sky is changing brighter as storms changes and it warns me to get over there to tweak my aperture because I keep the trigger value right above the graph to make it sensitive as hell.

And no worries on the beep slowing anything down at least for the old trigger version I am using which is right before the pre buffer, I did fear it might delay the save at detection because of the beep, but nope, it worked perfect with it.

It works so good that it hardly picks up cloud flashes, it really only picks up when it sees the white of an actual bolt and this is really good because I dont want a whole bunch of cloud light up pictures even though sometimes that is nice depending on the storm structure.

Been having the worst luck this year, I go out for every storm, but storms keep forming to far away from me to bother, July and August are my most active months here in FL, so there should be many more shots coming using the trigger for day shots.

I have a Sony FX1 HDV cam which I use for video and did some compares on some bolts I got with both cams, and the stills from the Canon kicked the Sonys but!

(http://s11.postimg.org/v75oh82ub/June_21_2013_Sony_Bolt04.jpg)
Capture from Sony FX1 HDV Video

(http://s10.postimg.org/o87m13csp/June_21_2013_Canon_Bolt04.jpg)
Capture from Canon using Bolt Trigger
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 24, 2013, 11:01:36 PM
(http://s22.postimg.org/nos36hjsh/AJune_21_2013_Canon_Bolt01.jpg)

Not much to look at but it shows you how good the trigger is because it even picked up these faint branches on the right of this monster CG I just missed more to the right where I was aimed, I was really pissed I missed that bolt, but it showed me the trigger really is great!

(http://s22.postimg.org/qe59fhisx/AJune_21_2013_Sony_Bolt01.jpg)
Here is the fat CG I missed with the canon but got with the Sony on video.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 25, 2013, 08:13:51 PM
indeed very good shots!
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 25, 2013, 09:28:58 PM
indeed very good shots!
Thanks, I really wish I did not live in the city area, no open areas around here, but I will take what I can get.
Title: Re: Bolt trigger module test results
Post by: gerk.raisen on June 26, 2013, 09:46:27 AM
Before trying it unsuccessfully :),

It's the module still working after changeset 90c50ab 2013-06-20?
<Experimental buffering strategy for raw_rec (variable buffering). Caveats: breaks bolt_rec......>
 
I've also see some changes in module api/requirement.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on June 26, 2013, 01:23:08 PM
nope, doesnt work with latest raw_rec:

didnt have time yet to dig through all the changes alex made and port my code to it.
as alex is still working on the writing code, i am not sure if it makes sense yet to change it.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 27, 2013, 12:16:38 AM
(http://s22.postimg.org/6vnoqh2m9/June_26th_2013_01.jpg)

Trigger got me another Day Bolt. I missed 2 others that were just to the left of my view, SUX!!
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 27, 2013, 10:20:09 AM
Anyone interested in seeing the RAW Video clip of this bolt here it is.
http://www.mediafire.com/download/hkiwhfsvsqfl6ea/June_26_2013_01.mov (http://www.mediafire.com/download/hkiwhfsvsqfl6ea/June_26_2013_01.mov)
Title: Re: Bolt trigger module test results
Post by: Tichro on June 27, 2013, 12:15:30 PM
They are fantastic shots mk11174,,, quite electrifying ( pun obviously intended ).

 Just want to give massive amounts of thanks to all the people who are helping develop ML into a truly superb addition to my camera (550D) and all for free * thumbs up*.

Now I shall have to wait for a decent thunderstorm,( rare where I live in the UK, and even rarer to get a decent CG, nearly all CC or IC ) to test this new bit of wizardry out.
Thanks again, you guys rock.
 8)
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 27, 2013, 02:27:42 PM
They are fantastic shots mk11174,,, quite electrifying ( pun obviously intended ).

Thanks! If you are interested or anyone with 550D, here is the build I use, it is up to date for todays latest source. An includes file_man, pic_view, ettr, raw_rec with the up to date variable buffer hacks, plus has the bolt trigger with the raw_rec module that it works with. Since it was built for me I named the Trigger My Trigger and the record module My Raw Video to help tell them apart from the original modules.

Only use My Raw Video for the Bolt Trigger, if you want to do Raw Video for anything but lightning then use the Raw Video version in the menu. The bolt trigger does not work with the new Raw_Rec module, so the My Raw Video version is the older one before all the new buffer hacks. And I set it to only record 5 frames after detection at highest res and that is plenty because the next strike will be captured anyway as a new detection and record 5 frames again, so you don't need all the new buffer hacks for the bolt trigger because it is not continuous recording.

Dont turn both Raw Video on and My Raw Video on at same time, you can safely load all the modules all at once just fine now though, just use one or the other by turn them on in Movie Menu while in Movie Mode.

And just to make note: Just because I have it called MY trigg and My Raw Video does not mean I created it or did anything special with it, all credits go to g3gg0 for the trigger and alex and the devs for raw_rec.

I do have my custom tweaks on the bolt trigger that I find work out better for me, so hopefully there ok with you as well.

The beep is very useful that I added. It allows me to use DIM Display powersaver to save battery because I will hear a beep when it captures a bolt. Plus it tells me if my exposure gets higher then my original setup at the start of a storm because the sky will change levels as it passes by and you might have to darken your aperture 1 stop to get trigger happy again. Very handy having the beep.

My setup is.
1. Turn cam on in Movie Mode 1080P.
2. Zoom in and focus on your storm.
3. Turn on FPS to 15fps Low Light which is 14.985fps.
4. Turn on ML exposure override and set shutter to 1/15 or closest to 360 degrees you can get.
5. Manually set ISO to 100, White Balance to Daylight.
6. Use ND8 filter on brighter grey skies and set Aperture to whatever gives you correct exposure.
7. Keep Global draw off to help things run stable and less clutter on screen anyway for this.
8. Turn on My Raw Video and My Trigger.
9. Set Resolution to 1728 and adjust Aspect till Resolution is 1728x1152 highest 550D can get.
10. Turn off Beep option in My Raw Video and set preview to Canon.
11. In My Trigger, set post frames to whatever you want, but at that res don't bother going over 17. I keep at 5.
12. Then just adjust Trigger Value till you are right above the graph, closer the more sensitive and better.
13. Press Record and wait for bolts.
14. Leave recording as long as you want and get as many as you want in one RAW file.
15. If sky brightens, and the trigger beeps, just darken 1 step on aperture to bring graph below your trigger line.

Note: fps to 14.985 and shutter of closest to 360 degrees is a must for a higher percentage of captured bolts. Any shutter 359 or 360 degree will work, but 1/15 when set to 14.985 fps was the best in capture percentage. If you go 30fps, don't use FPS hack, just turn off and set shutter to 359 or 360 degrees if you can. This is for NTSC if your PAL then adjust accordingly.

And we do have CMOS sensors with Rolling Shutters so occasional some bolts will be split onto separate frames which you can later correct in photoshop and this happens less frequent at 1/15 shutter with 14.985fps too.

This trigger works well from detection point on, there are no pre detection frames recorded, but the main connection with the branching is the important phase and it captures this just fine and frames after detection. I don't have any use for pre frames because I just want to capture the main connection of each bolt. Before that, there is nothing to see unless you have a super highspeed slow motion camera like with a 50,000 fps or something like that that can capture all the cool phases before connection. At 60fps which is as fast as are cams can go, we wont catch anything but the main connection and any post connections just like any other video camera.

So if you want a quick clip of day lightning or to grab a still of just the main connection then this is the module for you.

For night stuff its best to just take long exposure stills.

Well here is the build after all that Yapping I just did! LOL!

http://www.mediafire.com/download/038h5go7da6f2bf/ML_550D_June_27_2013_Bolt_Rec.zip (http://www.mediafire.com/download/038h5go7da6f2bf/ML_550D_June_27_2013_Bolt_Rec.zip)
Title: Re: Bolt trigger module test results
Post by: Tichro on June 27, 2013, 03:29:14 PM
Hahaaa! Yes that turned into a post of almost epic proportions, but well worth the read, a nice introduction and break down of the process and what settings to use,,, nicely written Sir  ;)

I will be installing your latest version and go sit by the window watching and waiting in anticipation for the thunderheads to develop.

Can't wait to start playing with it.

Thank you Matt*, your a gentleman 8)

*saw the name in a different post :)
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 27, 2013, 03:35:35 PM
Hahaaa! Yes that turned into a post of almost epic proportions, but well worth the read, a nice introduction and break down of the process and what settings to use,,, nicely written Sir  ;)

I will be installing your latest version and go sit by the window watching and waiting in anticipation for the thunderheads to develop.

Can't wait to start playing with it.

Thank you Matt*, your a gentleman 8)

*saw the name in a different post :)
Thank you and no problem GOOD LUCK!!!! I will be doing the same awaiting storms for the next 2 months here in Florida.
Title: Re: Bolt trigger module test results
Post by: Tichro on June 27, 2013, 05:07:46 PM
Well if I had the choice, I would rather be waiting for lightning in Florida, it's gotta be better than the usual UK weather,,, grey, grey, a bit more grey,,, oh and maybe a touch more grey just in case its not GREY enough.

Hmmm, having just had that the grumble, the sun came out 8)
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 27, 2013, 09:42:28 PM
Well if I had the choice, I would rather be waiting for lightning in Florida, it's gotta be better than the usual UK weather,,, grey, grey, a bit more grey,,, oh and maybe a touch more grey just in case its not GREY enough.

Hmmm, having just had that the grumble, the sun came out 8)
That sucks, sorry man, today looks like a bad day for me, storms are forming East of me and moving away.

By the way, I forgot 1 thing during setup, when you turn your trigger on and you are aimed at your sky and you notice your graph looks really high no matter what you do, just cycle through your ISO speed one time and bring back to ISO 100, that will I guess recalculate it and bring it to a normal level.

This only has to be done once after a cam restart when you go to use the trigger, I guess a minor bug but easy to fix with once cycle of the ISO while aimed at your sky. I found it out by accident while doing flasher tests when I first started using the trigger.
Title: Re: Bolt trigger module test results
Post by: 1% on June 28, 2013, 10:09:25 PM
In the U.S. the 4th of july is coming up... I bet this would work for fireworks.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 28, 2013, 11:16:03 PM
In the U.S. the 4th of july is coming up... I bet this would work for fireworks.
Heck yeah it will, I will be using it, I will use my T1i for stills so I don't miss out on them cause night stills are always cool, but for Raw video I will test the trigger out on the T2i. Hopefully I get the usual amount of people around my area shooting them off.
Title: Re: Bolt trigger module test results
Post by: mk11174 on June 30, 2013, 12:22:52 AM
(http://s9.postimg.org/powq2gqhr/June_29_2013.jpg)

The setup I use and trigger module is working on the 5d Mark II I have a friend that got his first bolt today, now he just needs to get a big storm to get huge bolts captured cause he has the nice views for it.
Title: Re: Bolt trigger module test results
Post by: 1% on July 01, 2013, 04:39:23 AM
I wonder if its better to reduce the scan width and increase the number of scan lines.. why is it so large?
Title: Re: Bolt trigger module test results
Post by: deletedAcc.0021 on July 01, 2013, 04:50:59 AM
Is the bolt module available for the 600D?
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 01, 2013, 05:59:17 AM
I wonder if its better to reduce the scan width and increase the number of scan lines.. why is it so large?
Not sure but it works well so maybe best to leave as is?
Title: Re: Bolt trigger module test results
Post by: 1% on July 01, 2013, 06:13:04 AM
Its 6K wide. The sensor isn't that wide.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on July 01, 2013, 09:24:41 AM
Its 6K wide. The sensor isn't that wide.

the width is the maximum possible width, not hardcoded :)
bars will be up to 6k pixels wide.
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 01, 2013, 09:55:23 AM
Is the bolt module available for the 600D?
You can try the version I am using, I know it works on the 5D2 and my 550D just fine.

http://www.mediafire.com/download/1zlb14yee6brlx4/ML_600D_July_1_2013_Bolt_Rec.zip (http://www.mediafire.com/download/1zlb14yee6brlx4/ML_600D_July_1_2013_Bolt_Rec.zip)
Title: Re: Bolt trigger module test results
Post by: 1% on July 01, 2013, 06:25:06 PM
Yea, I was just going to cheat and use your modules on 6D. I have to load them and make sure there is no api version conflict.

With max res at 6k, its not going to try to allocate 5*6K lines of memory, is it? Otherwise it would be better to halve that number.

*they loaded just fine.. has memory hack in this one so I have 255MB to play with.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on July 01, 2013, 07:28:23 PM
With max res at 6k, its not going to try to allocate 5*6K lines of memory, is it? Otherwise it would be better to halve that number.

it is ;)
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 01, 2013, 08:32:17 PM
Yea, I was just going to cheat and use your modules on 6D. I have to load them and make sure there is no api version conflict.

With max res at 6k, its not going to try to allocate 5*6K lines of memory, is it? Otherwise it would be better to halve that number.

*they loaded just fine.. has memory hack in this one so I have 255MB to play with.
ok,  I set it to 3000 and my flash tests seem to all still work the same so i guess its fine to change it  :)
Title: Re: Bolt trigger module test results
Post by: Kim.dh on July 10, 2013, 01:09:37 AM
For some reason I am unable to start raw rec using a flash test using the latest build. The small recording indicator goes from "off" to "on", but no video or silent pictures are recorded. 550d in video mode with raw rec and bolt set to ON.
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 10, 2013, 08:28:08 AM
For some reason I am unable to start raw rec using a flash test using the latest build. The small recording indicator goes from "off" to "on", but no video or silent pictures are recorded. 550d in video mode with raw rec and bolt set to ON.
Bolt Trigger does not work with latest build, look at my last 550D link to download a working version it uses the older raw rec with the bolt trigger before pre buffering because pre buffering does not work with our cam correctly unless you shoot at 640x360.

Here is another version me and a friend with a 5D2 are using that I customized for us.

This version merges Raw_Rec and Bolt_Rec into one, so do not turn on the Raw Video with this, Raw Video is for just Raw video. To get the trigger on, just turn on Bolt Trigger and it will work, I took away some menu options in it because we will never change them, they are set for max res, we only use it for capture the main strike of day lightning plus 1 extra frame. It works gret.

I also added code to auto set shutter speed, iso, and kelvin to correct settings to get the best results, just be sure to be in 1920x1080 30P Canon Movie Mode and turn on FPS first and set to 14.985 Low Light. Then turn on Bolt trigger and you are ready to go, just tweak the trigger value right above the graph so you dont hear the detection beep I added and your good to go, just press Record button.

I also added an option to see the scan line positions, they can be turned on or off. I added them because it is useful to know where the scanlines are for ocean lightning, you want to try to cover a bigger area but if you set to many lines, I have a max of 6 lines, but if you set to many your lines will pass in a bad area where the whitecaps of the waves will fire off the detector, so seeing them allows you to either choose a differ amount or just move cam.

I set all the bet settings I have found to work best for day lightning and is less hassle when trying to set up for a fast developing storm, and every feature that we wanted, we added as we used it.

The beep will help you know when you got one or it will tell you if you have to adjust your cameras aperture to expose correctly again as sky goes dark and light.

In this zip file you will get all the files you need for 550D and I have ettr, the latest raw video, and of coarse the custom bolt trigger.

By the way, I merged trigger with raw module because when your trying to setup for an exciting storm and your heart is pumping, it is really a pain messing with 2 modules, and also if turned off in the wrong order when they were separated it was causing assert errors, so now that they are all in one, I have them turn off in a certain order so no more assert error.

No pre buffer because the sd card cams dont work good with pre buffer for bolt trigger.

The raw record I merged into it is the version is from right before Alex added the new variable buffer method.

If this version is not to your liking then look for my earlier post with a link to the other version.

http://www.mediafire.com/download/b7w12i1905y5msn/ML_550D_July_10_2013_Bolt_Trigger.zip (http://www.mediafire.com/download/b7w12i1905y5msn/ML_550D_July_10_2013_Bolt_Trigger.zip)
Title: Re: Bolt trigger module test results
Post by: gerk.raisen on July 11, 2013, 03:35:51 PM
@mk11174

Could you please post a diff file of your changes against the standard code?
I think can be interesting to have a look to your code :)

Thank you.
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 11, 2013, 05:51:33 PM
@mk11174

Could you please post a diff file of your changes against the standard code?
I think can be interesting to have a look to your code :)

Thank you.
Hmm, not even sure that would work because I merged 2 modules into one, so if I diff from the bolt_rec, you will only see how I added raw_rec code to it but not see the changes that had to be made to the raw_rec part of the code to make it work.
Title: Re: Bolt trigger module test results
Post by: Yuppa on July 11, 2013, 09:15:36 PM
@mk11174

FYI

Build: BOLT_RAW.MO from ("ML_550D_July_10_2013_Bolt_Trigger.zip") + latest compiled RAW build for the 60D.

Seems to work fine with bright light (desk lamp) testing--no lightning here in P'cola Florida right now, bummer.

One ?: is the 1 pixel (or so ) white screen border necessary?  I only ask because with the default ML screen layout, the white border at the top flickers from the audio level bars refreshing.  No biggie, just seems unnecessary as the resolution isn't customizable (that I know of).

Thanks to you and g3gg0 and 1% and...
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 11, 2013, 11:09:27 PM
@mk11174

FYI

Build: BOLT_RAW.MO from ("ML_550D_July_10_2013_Bolt_Trigger.zip") + latest compiled RAW build for the 60D.

Seems to work fine with bright light (desk lamp) testing--no lightning here in P'cola Florida right now, bummer.

One ?: is the 1 pixel (or so ) white screen border necessary?  I only ask because with the default ML screen layout, the white border at the top flickers from the audio level bars refreshing.  No biggie, just seems unnecessary as the resolution isn't customizable (that I know of).

Thanks to you and g3gg0 and 1% and...
The white border is from the Raw Code not really necessary just didn't think of removing the code for it, but yeah, the version I made from the 2 is not customizable only because for me and my friend we always wanted the highest res possible and since we are only grabbing 1 or 2 frames from the trigger at a time even our slow sd controllers handle that fine, plus less menus to mess with.

I know not everyone will like the idea of not being able to adjust the res if they want it lowered but this module was tweaked to our liking but I do like sharing so I wanted to give others a chance to use it to just hoping they are ok with the way I set it up from both codes. All should work good as long as you don't try using the Raw Video module with the bolt trigger because then you are trying to run 2 Raw modules at same time and it is built into the trigger, so just please keep Raw Video off when turning on Bolt Trigger.

The Raw Video module is untouched though, that is straight from the source. So you have full abilities if you want to record regular Raw video.
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 11, 2013, 11:38:14 PM
(http://s22.postimg.org/42efzyasx/DNGM08_1405_000000.jpg)

This is my friends latest Day Lightning capture with 5D2, he is getting more storms then me so far this year, but I know I will get mine soon. He used the bolt trigger version I just posted with the merge of Raw_Rec and Bolt_Rec.
Title: Re: Bolt trigger module test results
Post by: g3gg0 on July 11, 2013, 11:50:07 PM
nice :D

do you have the frames before and after too?
worth a video?
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 12, 2013, 12:41:56 AM
nice :D

do you have the frames before and after too?
worth a video?
No, he uses the code that I use which does not have prebuffer so no frames before, but he has the frames after, we only record 1 post frame but the trigger records all the strikes anyway, this one struck a few times after but they are nothing to look at only the main connection shows the cool branches so he dont keep anything else.

He knows nothing about ML so to help him use it I wanted him to have the same build as me to better teach him as we go.

He like me, also uses a video cam at same time for video.
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 12, 2013, 12:58:28 AM
Here is the video cam version of the bolt, just an 8meg clip, cool thing you will hear the beep going off for every flash which is the beep I put in the code of Bolt Trigger when a detection is made. It went wild on this bolt, so ever beep means 1 frame plus post was captured.

http://www.mediafire.com/watch/x43z1h7544x5cdc/2013-07-08-01-crop-direct_stream.mkv (http://www.mediafire.com/watch/x43z1h7544x5cdc/2013-07-08-01-crop-direct_stream.mkv)
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 12, 2013, 01:00:43 AM
One ?: is the 1 pixel (or so ) white screen border necessary?  I only ask because with the default ML screen layout, the white border at the top flickers from the audio level bars refreshing.  No biggie, just seems unnecessary as the resolution isn't customizable (that I know of).

Here is the module to get rid of the crop mark line.

http://www.mediafire.com/download/tzug8nbf2p37lza/BOLT_RAW.MO (http://www.mediafire.com/download/tzug8nbf2p37lza/BOLT_RAW.MO)
Title: Re: Bolt trigger module test results
Post by: Yuppa on July 12, 2013, 05:35:54 PM
@mk11174

RE: removal of white border (resolution indicator),

WOW...looks really good now!

Awesome, and thanks.

PS: I have no issue with resolution adjustment.  The 60D has a big buffer and bigger (resolution) is better IMO (and simplifies things, too).  And yes, I only have one (RAW or BOLT) on at any one time.
Title: Re: Bolt trigger module test results
Post by: Yuppa on July 12, 2013, 10:36:17 PM
Body: 60D
Build: Latest compiled 60D Raw + BOLT_RAW

If you've racked your brain as to why you can't lower the shutter below 1/24.7 even with "Exposure Override" set to ON:

From mk11174 (excellent primer BTW):

http://www.magiclantern.fm/forum/index.php?topic=6303.msg55463#msg55463

"3. Turn on FPS to 15fps Low Light which is 14.985fps."

So...

This is in the "FPS override" menu (select the Video icon). Set "Desired FPS" to 15 THEN make sure to set "Optimize for" to "Low light".  This will automatically reduce the shutter to a range between 1/15.3 and 1/39.8 so you can set ~360 degree shutter.

I'm restating this again as this is critical to (my) success!  Just playing with hot light, I'm getting much better results, i.e. complete frames.  Only problem: where did the lightning go?

Thanks again to g3gg0 and mk11174 and...
Title: Re: Bolt trigger module test results
Post by: Yuppa on July 13, 2013, 11:10:01 PM
Not the best view, but decent for my 1st attempt.

Body: 60D.
Global Draw: off.
Lens: old 18-55 kit lens.
State: hand held.
Threshold: 7500 or so.
Final: JPG, 15% compression.
Results: some pink and broken frames (12 of 64--taking 3 post frames for no reason really), but they were in ADDITION to the good frames, so it was a non-issue.  As far as I'm concerned, it worked like a charm!

(http://www.toxicsuds.com/magic_lantern/bolt_raw_1.jpg)
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 14, 2013, 12:04:41 AM
Not the best view, but decent for my 1st attempt.

Body: 60D.
Global Draw: off.
Lens: old 18-55 kit lens.
State: hand held.
Threshold: 7500 or so.
Final: JPG, 15% compression.
Results: some pink and broken frames (12 of 64), but they were in ADDITION to the good frames, so it was a non-issue.  As far as I'm concerned, it worked like a charm!

Nice! Cool to see someone else shooting lightning! I just had a cell blow through here in West Central Florida, I think I got a good one, still waiting for storm to die out to check, here is one from yesterday!

(http://s24.postimg.org/to30v9vet/July_12_2013_01.jpg)
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 14, 2013, 12:06:30 AM
(http://s22.postimg.org/4n5f2b79t/DNGM13_1249_000016.jpg)

Another from earlier today!
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 14, 2013, 12:13:41 AM
(http://s21.postimg.org/5sr1iizkn/DNGM13_1713_000048.jpg)

Here is the one I just got 30 minutes ago!
Title: Re: Bolt trigger module test results
Post by: Kim.dh on July 14, 2013, 02:54:55 AM
Awesome! Is it possible to automatically take a full resolution, shutter picture,after the raw -- so that you can overlay the bolt on the high resolution picture in post?
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 14, 2013, 05:24:45 AM
Awesome! Is it possible to automatically take a full resolution, shutter picture,after the raw -- so that you can overlay the bolt on the high resolution picture in post?
Not of the bolt, but yeah, should be able to make it take a picture after a detection, but this would slow things down and would not be good for multisequence, might cause a miss of the next strike in a sequence.

Are you hoping to keep the image the same size as the raw_rec capture and just use the CR2 to clean up everything else?

It might stop the raw_recording though, so that might be an issue to have it stop after every time it take a picture.
Title: Re: Bolt trigger module test results
Post by: Kim.dh on July 15, 2013, 03:32:41 PM
Not of the bolt, but yeah, should be able to make it take a picture after a detection, but this would slow things down and would not be good for multisequence, might cause a miss of the next strike in a sequence.

Are you hoping to keep the image the same size as the raw_rec capture and just use the CR2 to clean up everything else?

It might stop the raw_recording though, so that might be an issue to have it stop after every time it take a picture.

I was thinking of upscaling the bolt dng to cr2 size or the largest resolution the bolt itself looks good, then mask the bolt on the cr2.
Title: Re: Bolt trigger module test results
Post by: Yuppa on July 15, 2013, 05:49:11 PM
@Kim.dh

Why don't you just press the shutter button all the way RIGHT after the bolt gets recorded?  You have to do it, sure, and it'll be 16:9, which is somewhat of a bummer, but it'll also be @ whatever quality setting you've set.  Large fine yields 5184 x 2912 on 18 MP crop sensor bodies.

I would try THAT and figure out your post processing--masking, blending, etc.  If there's any wind at all, the clouds--or trees (if applicable)--will have moved regardless.

The issue I see is the photo mode is controlled mechanically, by the mode dial (60D) or switch.  What's the system going to do when you programmatically switch it to photo mode when the dial or switch is in video mode?  Has that ever been tried before?

CORRECTION: the 5184 x 2912 is JPG, but in RAW (CR2), it's 5202 x 3465! What is that, ~3:2?
Title: Re: Bolt trigger module test results
Post by: Kim.dh on July 16, 2013, 01:14:19 AM
I can do it manually of course, but I might get bored standing around waiting for a bolt, so an automatic trigger would be awesome. If it is hard to implement with full res cr2, a high res silent picture (from multiple crops) might be possible?
Title: Re: Bolt trigger module test results
Post by: dprice970 on July 17, 2013, 04:29:07 AM
As a storm photographer all over the midwest I have used several lightning triggers and have ruined several lightning triggers ... I am excited to try this and by some of the result already it looks promising ... I say thanks the dev. of this and everything else I use on ML I am still lost on my 7d since it doesn't have nearly half the features as my others do now but that's ok I will live and LOVE this trigger feature if I can get it to work .. will keep ya updated if and when I get some day time lightning
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 22, 2013, 03:21:17 PM
I modified the trigger with a new auto exposure feature, its not a fast auto exposure feature for regular movie recording but it is plenty good enough for the bolt trigger and the settings best used with bolt trigger.

I added an option to turn the new feature on and off and a min and max level, best to only play with min level though, but from all my tests the settings I set are optimal.

This new feature will allow you to turn on bolt trigger press record and relax and let the trigger adjust for the sky changes while it captures day bolts.

I have it set all the needed settings for the cam to use trigger correctly, shutter, iso, and white balance.

Alls you need to do is before turning bolt trigger on, is to turn on FPS at 15fps at Low Light so it is 14.985 and also be in Movie Mode 1920x1080 30p.

This is a mixture of Raw_Rec and Bolt_Rec. This trigger would not be possible without g3gg0.

http://www.mediafire.com/download/nyx4tg13dc5na97/BOLT_RAW_July_22_2013.zip (http://www.mediafire.com/download/nyx4tg13dc5na97/BOLT_RAW_July_22_2013.zip)

Here is the Source: http://www.mediafire.com/download/a593ytr8wrpz8w2/BOLT_RAW_SRC_July_22_2013.zip (http://www.mediafire.com/download/a593ytr8wrpz8w2/BOLT_RAW_SRC_July_22_2013.zip)
Title: Re: Bolt trigger module test results
Post by: xRun on July 29, 2013, 07:40:41 PM
Not sure if this was covered, but you'll get more than 1920x1080 even in bolt trigger mode. All the way up to 3.5K in 2.72 widescreen (3584x1320) by hitting the zoom button once for 5X before activating the recorder. With a wide lens it'll cover a wide area with more pixels, excellent for lightning capture. The framing is off though, width-wise what you see on screen covers about 40% in from the right edge of whats actually captured.
Even with 15fps (following your settings above) I got that to work with a 1000x 32GB Lexar, capturing beautiful 3.5K raw stills. Might be a bit much if there's a lot of ongoing activity though, haven't fully tested that.
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 29, 2013, 09:53:21 PM
Not sure if this was covered, but you'll get more than 1920x1080 even in bolt trigger mode. All the way up to 3.5K in 2.72 widescreen (3584x1320) by hitting the zoom button once for 5X before activating the recorder. With a wide lens it'll cover a wide area with more pixels, excellent for lightning capture. The framing is off though, width-wise what you see on screen covers about 40% in from the right edge of whats actually captured.
Even with 15fps (following your settings above) I got that to work with a 1000x 32GB Lexar, capturing beautiful 3.5K raw stills. Might be a bit much if there's a lot of ongoing activity though, haven't fully tested that.
Yep, did not feel the need to mention about crop mode because most people that use ML already know of crop mode. I use crop mode when I get low cloud base cells that I have no reason to shoot the upper area, so I go to crop mode to get wide views, my first upload here with double bolts was shot in crop mode. Bolt trigger works in both modes just fine.
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 29, 2013, 10:06:21 PM
By the way, here is the latest version of the module with a fix to the auto exposure feature I have added, I noticed it was a bit flakey when using more then 1 scan line for obvious reasons, so I separated the auto expose feature from the main scanline code and now you can use up to 6 scanlines  for the triggering and the auto expose will only use a center line. You may need to tweak the MIN and MAX levels for your cam, but for 550D 5400 MAX and 4300 MIN work best.

Module
http://www.mediafire.com/download/zy4pya312kty9tm/BOLT_RAW_July_28_2013_Tweak.zip (http://www.mediafire.com/download/zy4pya312kty9tm/BOLT_RAW_July_28_2013_Tweak.zip)

Source Files http://www.mediafire.com/download/hcd7j1gadhqu1ef/BOLT_RAW_SRC_July_28_2013.zip (http://www.mediafire.com/download/hcd7j1gadhqu1ef/BOLT_RAW_SRC_July_28_2013.zip)
Title: Re: Bolt trigger module test results
Post by: xRun on July 29, 2013, 11:43:05 PM
Great work! :)

Two questions:
1. Live view powersave, would it be possible to have that during Bolt Trigger mode? I know a lightning storm may last only an hour so battery probably wouldn't run down during that. Just a thought cause the triggering seemed to stop on my 5d3 when I tried it.
2. Would there be any benefit or usability issues in using shutter speeds lower than 15fps? Is it possible to get a (near) 360 degree shutter as low as 1fps? Or 180 degree at 0.5fps? I'm thinking about both lightning capture at night on a tripod as well as something else I'm into - time lapse. In my experience the display gets sluggish at those low speeds though.
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 30, 2013, 12:12:06 AM
Great work! :)

Two questions:
1. Live view powersave, would it be possible to have that during Bolt Trigger mode? I know a lightning storm may last only an hour so battery probably wouldn't run down during that. Just a thought cause the triggering seemed to stop on my 5d3 when I tried it.
2. Would there be any benefit or usability issues in using shutter speeds lower than 15fps? Is it possible to get a (near) 360 degree shutter as low as 1fps? Or 180 degree at 0.5fps? I'm thinking about both lightning capture at night on a tripod as well as something else I'm into - time lapse. In my experience the display gets sluggish at those low speeds though.
Yes power saver works fine with bolt trigger, I use the Dim feature it really helps, but dont have it turn off display just dim feature and global draw off is ok.

And Bolt trigger is not really useful at the slower shutter speeds the detection reacts to slow at that point, but I like to use 4fps at night to capture lightning frames when I want to do something differ then stills, but for Bolt Trigger 15 is as low as I would go for sure and only way to avoid the rolling shutter effect with lightning anyway. If it is not 359 or 360 the rolling shutter will cause major split frames to where the bolt will be split and only be captured on half the image and the other half lost, so a full 360 is a must! but 4fps allows you to capture crawlers good just dont bother using it with bolt trigger.

Title: Re: Bolt trigger module test results
Post by: xRun on July 30, 2013, 03:07:45 AM
Yes, that's what I'm seeing too. Works with the display dimmed, but not with it all the way off in my experience. Not an issue really, unless there's suddenly a 6 hours lightning storm and we wanna capture all of it. Not gonna happen even with the display off.  ;D
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 30, 2013, 03:57:15 AM
Yes, that's what I'm seeing too. Works with the display dimmed, but not with it all the way off in my experience. Not an issue really, unless there's suddenly a 6 hours lightning storm and we wanna capture all of it. Not gonna happen even with the display off.  ;D
yeah cause it works in live view so it has to be on but yeah would be nice to have it shut lcd off but have live view still actually going.
Title: Re: Bolt trigger module test results
Post by: mk11174 on July 30, 2013, 10:42:53 PM
Here is one other update, my friend says the auto expose feature was flakey on his 5D2 so I changed it up a bit and it seems to work fine on his and my 550D.

This link includes the src files and module:
http://www.mediafire.com/download/8x6t0iav8167n44/BOLT_RAW_SRC_July_30_2013.zip (http://www.mediafire.com/download/8x6t0iav8167n44/BOLT_RAW_SRC_July_30_2013.zip)
Title: Re: Bolt trigger module test results
Post by: Kim.dh on August 01, 2013, 10:08:41 PM
Mk, what settings do you use for night time captures on the 550d, rural low light pollution? I assume you turn AE off, use 15 fps with 1/15 shutter. But what ISO and aperture?

Thanks for the builds and answers.
Title: Re: Bolt trigger module test results
Post by: mk11174 on August 01, 2013, 11:01:39 PM
Mk, what settings do you use for night time captures on the 550d, rural low light pollution? I assume you turn AE off, use 15 fps with 1/15 shutter. But what ISO and aperture?

Thanks for the builds and answers.
For night, I just shoot stills in M mode, dont use live view either just regular stills, 5 to 10 second exposures if really dark and not active I go longer or use bulb and manually open and close shutter. The aperture I set from F5.6 to F14 depending on how close or far away the action is. Oh and always use ISO 100.

If I do try video at night using the RAW REC module, I use FPS Feature at 4fps let shutter be controlled by FPS should be like 1/4 shutter, and aperture I open up all the way unless there big strong bolts, but bolt trigger is no good for night stuff, raw rec part of it makes for really cruddy noisey images only at night though. Bolt trigger is best used DAY only in my opinion from all the tests I have done judging by the quality and the rolling shutter issues.
Title: Re: Bolt trigger module test results
Post by: mk11174 on August 09, 2013, 05:45:15 AM

Time lapse created using the bolt trigger and using a time lapse feature I added to it so it will capture a frame whatever interval you choose, for this storm I set to every 6 seconds and it also captured the bolts like it was made to do. I snagged 3 bolts during this storm, bolt trigger worked perfect!
Title: Re: Bolt trigger module test results
Post by: Tichro on August 09, 2013, 04:01:42 PM
Excellent work mk11174.

1 question, is this working with the new builds now?
Title: Re: Bolt trigger module test results
Post by: mk11174 on August 09, 2013, 06:13:22 PM
Excellent work mk11174.

1 question, is this working with the new builds now?
Yes, it should be, I keep my build up to date and module still works fine.

Here is latest module with Time Lapse feature and Autoexpose feature.

http://www.mediafire.com/download/z61z6ucgodgq1qc/BOLT_RAW_Aug_9_2013_Update.zip (http://www.mediafire.com/download/z61z6ucgodgq1qc/BOLT_RAW_Aug_9_2013_Update.zip)
Title: Re: Bolt trigger module test results
Post by: Tichro on August 09, 2013, 06:28:10 PM
Ooh, jolly good.
Would it be possible for you to upload this latest version with the timelapse feature somewhere?
Title: Re: Bolt trigger module test results
Post by: mk11174 on August 09, 2013, 06:46:44 PM
Ooh, jolly good.
Would it be possible for you to upload this latest version with the timelapse feature somewhere?
LOL, just did on my last post, sorry, I did not see this message first, hope it works for you too, the only cams I know it to work with so far are the 5D2 and T2i/550D and for you to have success you really should read my set up instructions to understand why the settings like shutter and FPS need to be set a certain way.

The way I have the module set up now though is to set everything auto for you as long as you already are in Canon 1080/30P mode, NOT 24P or 1280x720 mode and make sure FPS feature in ML is on and set to 15fps and Low Light.

If you do that and switch on Bolt Trigger it will set everything else the best way to make it capture bolts without scanline cut offs. It will also autoexpose in the best way to make it capture bolts, its a slower process, but only takes a few seconds once it finds its sweet spot it will keep it there. It has to be slow so it dont set off false trigger.

The way it is set up now, I rarely have to even touch the cam during a storm, very nice for sure!
Title: Re: Bolt trigger module test results
Post by: Tichro on August 09, 2013, 07:52:58 PM
Hahahaa, no probs.
Thanks, just need a decent cell to come through now, had one a few weeks ago but I was away from home and of course I didn't have my camera (550D) with me.
Title: Re: Bolt trigger module test results
Post by: mk11174 on August 09, 2013, 08:07:34 PM
Hahahaa, no probs.
Thanks, just need a decent cell to come through now, had one a few weeks ago but I was away from home and of course I didn't have my camera (550D) with me.
I hate when that happens, always comes at the wrong time!
Title: Re: Bolt trigger module test results
Post by: Tichro on August 09, 2013, 08:11:46 PM
Ain't that the truth :)
Title: Re: Bolt trigger module test results
Post by: mk11174 on August 10, 2013, 12:56:27 PM

A cell that teased me while waiting for bolts, but none came, I used the timelapse feature I added to the bolt trigger to get a 6 sec interval of the clouds while it was detecting for bolts and used the added Autoexpose feature to handle the exposure during the whole cell passing, all worked fine, did not have to adjust anything for this whole time of shooting.
Title: Re: Bolt trigger module test results
Post by: mk11174 on September 02, 2013, 10:12:33 PM
Update to Bolt Trigger to work with new 3.0 API Builds.

Also needed to make a change to the trigger beep after getting a 600D and finding beep causes issues with trigger and the RAW Recording part of the code. I added the option to turn Trigger Beep off, which is a must for 600D, 550D and 5D2 have no issues, so if you notice any issues with graph spiking during recording and detection just turn Trigger Beep Off.

http://www.mediafire.com/download/uh5ua38j36d83cq/BOLT_RAW_Sep_2_2013_Update.zip (http://www.mediafire.com/download/uh5ua38j36d83cq/BOLT_RAW_Sep_2_2013_Update.zip)
Title: Re: Bolt trigger module test results
Post by: nanomad on September 03, 2013, 11:06:16 AM
Hi, would you like to submit a pull request to bitbucket so we can upgrade the code?
Or just share the module folder and I'll update it for you.
Title: Re: Bolt trigger module test results
Post by: mk11174 on September 03, 2013, 04:05:13 PM
Hi, would you like to submit a pull request to bitbucket so we can upgrade the code?
Or just share the module folder and I'll update it for you.
Wow!! That would be great! I never bothered asking because there already is g3ggo's bolt_rec module which from what I hear works fine on the 5D3 and has pre buffering but does not work very good on the sd card only cams so I made this modified version specifically for Day Lightning with no pre-buffering to work with the sd-card cams, but it is still a bolt trigger and wasn't sure they would want 2 bolt modules on there and did not want to wipe out g3ggo's module because his seems to work on the 5d3 just fine and maybe other cams as well but not the 600D, or 550D. But thank you, here is the link to the folder since I am very new to the submitting part, I don't want to mess it up.

http://www.mediafire.com/download/dkjg3vjx3urrda9/bolt_raw.zip (http://www.mediafire.com/download/dkjg3vjx3urrda9/bolt_raw.zip)
Title: Re: Bolt trigger module test results
Post by: mk11174 on September 05, 2013, 08:45:30 AM
(http://s24.postimg.org/n2lvy62g5/DNGM04_1700_000005.jpg)

(http://s8.postimg.org/61nsma505/DNGM04_1744_000052.jpg)

(http://s24.postimg.org/g9q4fn10l/DNGM04_1700_000006.jpg)

First lightning captures with 600D
Title: Re: Bolt trigger module test results
Post by: kazeone on September 19, 2013, 07:52:55 AM
wow I so want to try this on my 650D ^_^
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 19, 2013, 02:04:10 AM
Dont have many bolts in the summer but finally I got some today!

Run around like a chicken with my head cutt-off.  Never used the the dam thing so I did not know how to use it...
Bolts were going all around me and nothing seem to work... 
Then I was laughing to myself, the king of "how to" guides did not know how to use it bolt_rec.mo
crap!  Bolts are slowing down and I am on page 1 of 6 going through 135 replies!
Tested this, and tested that and my 5D3 just seems to record and record and record (red light on) with no apparent buffer.
While I am reading the post, my camera was getting wet, then wind had changed!!  More crap!
Bolts are slowing down some more.. crap!
Bolts are gone!  Crap!!
After reading many post then I decided that this build must not be working so started going back in time searching for older builds that correlate with the time of the begining of the post.
Finally found a build that seems to do what I expected.  In goes back June 13 by Lurenco.
Crap all bolts are gone now!

So after this shitty experience can someone tell me why bolt_rec.mo in not working with the latest build with 5D3?
I have tried some August, September, October builds and none of them seem to work.

When this is working I will write one of those How to for dummies guides!  ;D

Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 19, 2013, 05:45:40 AM
So after this shitty experience can someone tell me why bolt_rec.mo in not working with the latest build with 5D3?
I have tried some August, September, October builds and none of them seem to work.

Bolt_Rec does not work with latests builds because of a change a long time ago with Alexs change to buffers for Raw Rec, so its no good anymore, to use Bolt_Rec you need the really old Raw_rec to go with it.

This is why I made a custom module that combines both of those versions which I call Bolt_Raw, you dont use Raw Rec with it, in this module it is all built in. It is tested only on 550D, 650D, 5D II as far as I know and works fine, it does work on 600D but 600D has a vsync problem that leaves us with pink frames. I uploaded many pictures showing it works great when used correctly, I also wrote very good instructions on my process and this process will only work on the Bolt_Raw module, not bolt_rec and raw_rec modules
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 19, 2013, 01:16:43 PM
Great!  Thanks for clarifying that.  In the middle of my frustration I read some of the post looking for answers and read your instructions and links but nothing for 5D3.

This is the typical case of something not working for a specific model.  I will be better prepared for the next time and will do some testing to make sure it works with 5D3.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 19, 2013, 01:30:00 PM
From what I gather, now that I have more time to read, this thread is for RAW_BOLT.MO and not for bolt_rec.mo.
If this is correct then I will modify the opening post and try to clarify the usability of YOUR module.


Well it gets more confusing.  So now we have g3g00 code and your code.  His code is represented by raw_rec.mo and it is in the unified and your code has not been merged and is provided as a download link to RAW_BOLT.mo

It appears that g3g00 tested raw_rec.mo some time ago and it worked.  I went back with Lourencos build of june and tested with my 5D3 and it seems to work with a flash setup but dont have any bolts to test now.  Are you aware of any other times that bolt_rec.mo worked and for what cameras?

Further more your module has been tested on 60D, 600D, and maybe 550D?  Are you aware of any other cameras that work with your build?

I will try to summarize and edit the opening post to clarify the situation.
Thanks

Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 19, 2013, 02:52:19 PM
From what I gather, now that I have more time to read, this thread is for RAW_BOLT.MO and not for bolt_rec.mo.
If this is correct then I will modify the opening post and try to clarify the usability of YOUR module.


Well it gets more confusing.  So now we have g3g00 code and your code.  His code is represented by raw_rec.mo and it is in the unified and your code has not been merged and is provided as a download link to RAW_BOLT.mo

It appears that g3g00 tested raw_rec.mo some time ago and it worked.  I went back with Lourencos build of june and tested with my 5D3 and it seems to work with a flash setup but dont have any bolts to test now.  Are you aware of any other times that bolt_rec.mo worked and for what cameras?

Further more your module has been tested on 60D, 600D, and maybe 550D?  Are you aware of any other cameras that work with your build?

I will try to summarize and edit the opening post to clarify the situation.
Thanks
My code is the same code as g3g00 just merged with the raw_rec version before the new buffer system was added which is when bolt_rec stopped working, alex put a note up that the new buffer system breaks bolt_rec module, g3g00 was going to update bolt_rec to work with the new buffer system but never got the time.

So it is pretty simple really, if you want to use bolt_rec, you just need to use the raw_rec module before the new buffer system was added, it worked fine, there is nothing wrong with bolt_rec at all when used with the correct raw_rec module.

As far as what cams work, I only know of the cams I mentioned because I have a friend that uses it on the 5D II and I use it on my 550D and have tried it on the 600D and another users tested it on a 650D.

Since my bolt_raw is the same exact code as bolt_rec, they both work the same except the fact that on mine I had to get rid of pre buffer because g3g00 and I came to conclusion that prebuffer does not work correctly with the SD card cams like the rebel line, prebuffer works fine on the CF cams though. So my version works on both types of cams just got rid of prebuffer code which is just fine because it captures the bolts just fine without prebuffer as you can see in all my uploaded pictures. And I also added many features that I find useful for out in the field that you will not find in the bolt_rec module.

I merged the raw_rec module with bolt_rec because I really did not like the idea of setting up for a storm and always having to turn on Raw Video first then the Bolt Trigger, so my version you just need to turn on Bolt Trigger and Raw Video is built in, yes it is the older raw video that works with bolt trigger but trust me, you dont need the new updated raw video to make the trigger work cause it only captures a few frames at a time during strike, nothing fancy is needed.

I don't know of anything other version of bolt trigger other then g3gg0s original release and his updated prebuffer version and also the version I put together which I call bolt_raw.

Only reason I can think of why its not in the unified is just because noone got around to checking it out to add to unified or maybe because there is already the bolt_rec module added even though it dont work with the current raw_rec, no clue, maybe code is not clean enough for the devs, I don't really know, I sent it out for a pull request a long time ago when I got it just right, but maybe they don't like the idea I merged the 2 modules, but I uploaded it here so others can have access to it at least.

Here is the last changeset of raw_rec before the new buffer system was put in place and works with bolt_rec
https://bitbucket.org/hudson/magic-lantern/commits/8bb13a5e7c6d010a020f62e81d2ef17c92334299

And the bolt_rec already in unified is the latest of bolt_rec with prebuffer but of coarse is only good on the cf card cams.

On my 550D it would have a mind of its own and record on and on randomly and the prebuffer was not saving correctly, it actually saved every frame but the strike, g3g00 found it had to do with the amount of buffers available for the camera, not enough.

So I reverted the the bolt_rec right before pre buffering was added.
https://bitbucket.org/hudson/magic-lantern/commits/d45dc257e9279f2dbcb1ade5369d995b4f3213b2

And the raw_rec that works with it.
https://bitbucket.org/hudson/magic-lantern/commits/1a5a6b51d145f9441c6101ad3aec1e66fbeada54

These are the 2 I merged into the bolt_raw module and just added features of my own but there only add on features, they dont effect the main code of bolt_rec or raw_rec
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 19, 2013, 06:24:02 PM
These are the 2 I merged into the bolt_raw module and just added features of my own but there only add on features, they dont effect the main code of bolt_rec or raw_rec

I like your idea of merging the two to a working module so that if raw_rec changes then the bolt module is not affected!

I tried your merged module in my 5D3 but it did not load properly, I got error: error: undefined symbol"shoot_malloc" and "shoot_free"

Is there any chance that you could do a pull request for the bolt_raw.mo  to the unified and hopefully work together to bring your work into the unified?
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 19, 2013, 06:57:23 PM
I like your idea of merging the two to a working module so that if raw_rec changes then the bolt module is not affected!

I tried your merged module in my 5D3 but it did not load properly, I got error: error: undefined symbol"shoot_malloc" and "shoot_free"

Is there any chance that you could do a pull request for the bolt_raw.mo  to the unified and hopefully work together to bring your work into the unified?
The module in here is a bit out of date, I can upload the newest one that I use and is up to date with unified. Or if you can compile just clone my repo to get the bolt_raw folder and then compile it with your repo that you use with your cam.

Here is the updated module.
https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo (https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo)

Here is the module folder if you want to add it to your repo to compile in case my version wont load in your camera.
https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.zip (https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.zip)
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 19, 2013, 10:03:57 PM
Here is the updated module.
https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo (https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo)

Ok, great.. that loaded fine on 5D3.  I will test it with a flash.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 19, 2013, 10:56:22 PM
Ran some test with 15fps with low light option.  It recorded the flash only about one of every ten was cut off.

I thought that this had some kind of buffer that captured the before and after frames?
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 19, 2013, 11:15:03 PM
Ran some test with 15fps with low light option.  It recorded the flash only about one of every ten was cut off.

I thought that this had some kind of buffer that captured the before and after frames?
No, this is the version without pre buffer like I mentioned earlier, if you want the one with pre buffer which only seems to work on the CF card cams then you need to use the raw_rec and the bolt_rec from the links I mention earlier, you will need to clone those versions to your repo and compile the raw_rec and bolt_rec from it and use those modules together. Well you can just use the bolt_rec tat is in the unified, that has the prebuffer, you just need the raw_rec to work with it.

I assume since all versions work on the 5D Mark II that my friend has I would think they would work on the 5D 3 just as well. gg3g0 did not get to test it much with his 5D3 but he said some lazer tests worked fine with it.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 19, 2013, 11:24:10 PM
Ok, understood.  Your system seems to work fine now I need some bolts..

In the mean time I will try now to check out the other option with the buffer thing.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 19, 2013, 11:33:14 PM
Ok, understood.  Your system seems to work fine now I need some bolts..

In the mean time I will try now to check out the other option with the buffer thing.
I will compile and upload the raw_rec and bolt_rec modules with pre buffer so its on here if anyone wants them.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: hookah on October 19, 2013, 11:43:14 PM
Uhh.. maybe i could use this module to convert my old 8mm film to digital without the rolling shutter thing. !!! - just need to slow down my Cine player..  8)
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 20, 2013, 12:29:24 AM
I will compile and upload the raw_rec and bolt_rec modules with pre-buffer so its on here if anyone wants them.
I am trying the old build from Lourenco for 5D3 of June 13th.  This one works with the buffer, it saves the frames before and after.  With a flash test there is not a lot of value of the other frames but it seems like it should record fine.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 20, 2013, 02:07:01 AM
I am trying the old build from Lourenco for 5D3 of June 13th.  This one works with the buffer, it saves the frames before and after.  With a flash test there is not a lot of value of the other frames but it seems like it should record fine.
ok, sounds good as long as you have both to play with, and yeah, i had no use for the prebuffer and extra frames, the version I put together detects and records every stage of the bolt just perfect and that is all you get is just frames with action, not extra frames, it works 100% of the time. Only issue is which is not the modules problem, it is the cmos type cam and the rolling shutter, every so often we get split frames and there no fix for it cause it is how rolling shutter works, we can only minimize this by using the 15fps method I mentioned, and the other thing I did with my module is have it auto set all those setting when you load the module, with the regular bolt_rec you have manually change all that stuff.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 20, 2013, 04:34:44 AM
I am interested in the buffer method to do a video of the bolt.  I dont like to have to load and old build to make this work.  do you have any idea how difficult would it be do get the raw_rec.mo working with the current autoexec.bin.  I hope that g3goo or Alex can do the last part to make this great module work with the current builds.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 20, 2013, 05:09:28 AM
I am interested in the buffer method to do a video of the bolt.  I dont like to have to load and old build to make this work.  do you have any idea how difficult would it be do get the raw_rec.mo working with the current autoexec.bin.  I hope that g3goo or Alex can do the last part to make this great module work with the current builds.
Nothing has to be done to raw_rec, the only one that can get bolt_rec to work with the current unified raw_rec is g3g00, he has to make changes to the bolt_rec module to work with the new raw_rec buffer system. I don't have any issues working the bolt trigger with the current unified compile autoexec.bin, the trouble is not in the ML src it is just a tweak to bolt_rec that needs to be done and of coarse I am sure he would need to tweak raw_rec as well to get them to operate with eachother. I don't see it happening though, he is very busy on MLV and other projects, I like the way it works though using bolr_raw which is working just fine with the latest unified or nightly if you can't compile yourself.

As for doing video, it really wont be very useful because of rolling shutter, during a long flash like in cloud lightning or something with many flashes, the rolling shutter will cause splitting, just really not going to be useful for video as I am sure you will see if you watch a video in the bolt trigger forum, you will see to many flashes in the sky that go on will show much cutting of the frames because of the rolling shutter, really best for single strikes like the shots I posted.

Best to use CCD cameras for video of lightning.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 20, 2013, 05:53:38 AM
Here are the raw_rec and bolt_rec with the pre buffer from back just before the new raw_rec buffer system was put in place, and it is compiled with the latest unified as of today 10/19/2013 so will work with up to date bins.

https://bitbucket.org/mk11174/magic-lantern/downloads/raw_rec_bolt_rec_prebuffer.zip (https://bitbucket.org/mk11174/magic-lantern/downloads/raw_rec_bolt_rec_prebuffer.zip)

But again, this version does not work correctly with the sd card cams because of pre buffer add on, it works but does not save the most important part of a bolt, it is not a bug in the module, it is just the cams don't have enough buffer memory like the big guys do.

ABS trigger works best for flashes, REL is not the best choice for bolts, many false trigger with it. I always turn REL off and only use ABS.

Also, dont have any other Raw_REC module loaded at same time, will conflict. This raw_rec is much older then current up to date but its the latest that works with bolt trigger with the pre buffer option.

If not interested in pre buffer then best to get my combined version bolt_raw.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 20, 2013, 02:02:10 PM
Yes that worked with current binaries.
I tested the pre-buffer and I cannot get good control of the pre and post frames.  I want to capture a few frames before and a few after my get mixed results and it seems that the controls dont really do what they are suppose to do. 

I played with the Post-bolt frame count and it seems that no matter what value I set, It always skip some frames either at the pre bolt or post bolt.   I am testing this by swinging my camera toward a light and then watching the video.  I hardly ever get a split frame (on 5D3) but I do always get a skip frame.  Any ideas why this is happening?

Could the frame skipping be improved with more recent raw_rec, if g3g00 fixes it?

Update:  Seem that I get better results if I set Post Bolt to 50 frames.  Less frame skipping, also I tested with Memory hacks and works well giving extra recording frames.

Would you be so kind as to take the current setup with pre-buffer and join the two modules so that you only have one like bolt_raw maybe call it bolt_buff.mo this way I can have the standard raw_rec.mo and the raw_bolt.mo (for single capture) and the raw_buff.mo all in the same card without any problems.  As you know bolts come and go and sometimes there is no time or a computer where you can switch binaries or modules to capture the bolts.

Thanks for your effort.  This is really a nice module, eventually many people would want to use it after they master the raw capabilities.  But I think it is important to get it into a usable for many cameras.

I will be testing this on the 7D now.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: g3gg0 on October 20, 2013, 02:59:28 PM
as soon mlv_rec gets settled, i will extend it to non-random, ring-buffering as option.
this makes bolt_rec more usable maybe
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 20, 2013, 03:26:21 PM
Yes, thanks for looking after this issue.

To summarize my findings are as follows:

Current version of bolt_rec.mo loads on 5D3 and 7D but recording does not get triggered by flash or bolt, it just starts recording as soon as record button is pressed.

Current modules(raw_rec + bolt_rec)  provided by mk11174 here:
https://bitbucket.org/mk11174/magic-lantern/downloads/raw_rec_bolt_rec_prebuffer.zip
Load on 5D3 and 7D (ML) and 7D(TragicL) and work as described in 5D3 test.  7D(ML) does not have fps override therefore most frames are not usable.  7D(TL) works and get few bad frames.
Module worked better under Absolute Trigger enable and Relative disabled.

Current merged module bolt_raw provided by mk11174 here:
https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo
Load on 5D3 and 7D(ML) and 7D(TL) and work as tested on 5D3.  Again 7D has more split frames even with fps override on TL.

All of my test have been done by swinging the camera to a bright lamp and some test with flash.

I have not tested Timelapse function of bolt_raw module and still waiting for bolts..

UPDATE: Just noticed that 7D does not change the shutter speed to near 1/15 to prevent the split frames so this is why the 7D get many more split frames...  The 5D3 will drop the shutter speed to 1/16 when the bolt modules are enabled and provide much cleaner frames.

Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 20, 2013, 04:37:30 PM
Opening Post has been updated to provide instructions and the latest code available.

I have only written this guide, all the hard work by g3g00 and mk1174!

I still have not take a single frame of a bolt!!
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 20, 2013, 07:05:21 PM
Opening Post has been updated to provide instructions and the latest code available.

I have only written this guide, all the hard work by g3g00 and mk1174!

I still have not take a single frame of a bolt!!
Thanks for all the professional testing and updates. Sounds like there is a future for the old bolt_rec and the new raw_rec or maybe mlv_rec whatever version g3g00 uses!

I will have to add my personal features to that version when it is updated though cause after shooting storms myself I gradually had ideas that could be of use and added them little by little to make it quicker and better for me to set up.

My favorite feature I added was Autoexposure option, not sure if it works on any other camera though, but works perfect on the 550D, this allows me to walk away and control my video cameras while the autoexposure feature adjusts the trigger line right above the graph by controlling the aperture value and I made it slow so it does not re adjust when a flash happens, only when the sky changes gradually during a storm. Without this feature you have to watch the trigger line the whole time, if you want a bolt captured your goal is to keep that trigger line right above the graph to catch even the weakest bolts and since you have to do this, you will have to keep adjusting the aperture manually to keep the graph under the trigger line. The only thing you have to remember, is I set it to react slow, so when you first set your cam up at the sky you have to give the feature a chance to settle the graph under the trigger line, once it does, then you can start recording.

If the sky has a dark cloud layer and a medium grey layer it is best to use 1 scan line because the module will see the dark clouds and will adjust brighter which is bad cause then sky will get over exposed, that is why I added ability to see scan lines so you know what the detection lines are aimed at, if you have a nice even gradient sky, and it fills your view then you can use all scan lines with no issues.

The way I have it set up now allows me to turn it on and walk away and when I come back I have many bolts to enjoy without even touching the cam. So when used correctly which will take practice in my experience, it works really well.

All these features are a must for me and hopefully I will be able to add them to the updated version when it comes out.

The timelapse is a neat feature I added to it, but not always used, I only use it when I get really cool textured skies that I know will be worth a timelapse, it just saves a frame by itself while it captures bolts, it basically just sets off a false detection every so many seconds. Post gets harder because you have to manually separate the timelapse captures from the bolt captures so you don't get uneven motioned timelapses.

Well, thanks again for your tests and posts, maybe more people will see the posts and make use of the good old bolt trigger!
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 20, 2013, 08:01:08 PM
Here are renamed versions of bolt_rec and the raw_rec that works with it with the pre buffer option, I renamed them internally as well so you can load them along with the current Raw Video and Bolt_Raw without the pre buffer.

Just don't turn 2 Raw Videos on at same time or cam will explode, LOL! But seriously, just only actually have one on at a time as needed.

This will keep you from having to switch cards with differ versions. You can copy them all to the modules folder and all work with latest builds as of 10/20/2013

Raw Video
https://bitbucket.org/mk11174/magic-lantern/downloads/buf_raw.mo (https://bitbucket.org/mk11174/magic-lantern/downloads/buf_raw.mo)

Bolt Trigger
https://bitbucket.org/mk11174/magic-lantern/downloads/buf_bolt.mo (https://bitbucket.org/mk11174/magic-lantern/downloads/buf_bolt.mo)
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 20, 2013, 08:23:37 PM
excellent.  can they be renamed buf_rec.mo and buf_bolt.mo  in this way both are next to each other and easy to select in camera.
I tried just renaming but got noinfo error
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 20, 2013, 08:49:35 PM
excellent.  can they be renamed buf_rec.mo and buf_bolt.mo  in this way both are next to each other and easy to select in camera.
I tried just renaming but got noinfo error
no, they have to be renamed then recompiled. But in the camera Movie menu I named there menus so that it is easy to know which is which. But I can rename the actual modile and recompile them if you really think its needed, I didnt think it mattered since you only see them once in the module loader.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 20, 2013, 09:06:32 PM
Yes please so I dont have to search for one here and the other over there (in the module loading menu).  If both start with buf then in the module loader both are next to each other and easy to find.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 20, 2013, 09:50:33 PM
Yes please so I dont have to search for one here and the other over there (in the module loading menu).  If both start with buf then in the module loader both are next to each other and easy to find.
Ok, updated links above.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 20, 2013, 10:07:31 PM
Great, it is nice.  I dont fully understand the reason why the shutter and fps settings are so critical but the 5D3 works really good.  The 7D does not allow me to lower the shutter so I dont get many good frames, I suppose this needs special programming in the binaries.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 20, 2013, 11:00:41 PM
Great, it is nice.  I dont fully understand the reason why the shutter and fps settings are so critical but the 5D3 works really good.  The 7D does not allow me to lower the shutter so I dont get many good frames, I suppose this needs special programming in the binaries.
it is the only way to slow the shutter enough so we dont get split frames, with them slowed down to 14.985 on fps it allows for a 359 and on some cams 360 degree shutter which keeps the scan at bay longer for us to capture bolts with no splits, any faster on the shutter means more time for the scanline to be visible and split the bolts but any longer then the exposure is to long and bolts are not very bright against the sky. FPS is crucial because its the only way to allow shutter speed to get to 359 and 360 degrees.

And yeah, most likely the 7D lowest shutter setting must be differ then the others, can you manually set your shutter to 359 or 360 depending on PAL or NTSC I think is where its differ, and while in Movie mode with exposure override turned on. Then shut cam off and check your Magic.cfg file and tell me what the number is for bv.TV, maybe do on the 5D3 to just so I know, I only had the 550D, 600D, and my freinds 5D2 to get tests from to program the bv.TV for it.

Update, I am pretty sure I misunderstood your 7D info, I guess you meant, manually you cant set your shutter to the correct setting whether you have bolt trigger or not, sorry, LOL!

Does the 7D allow exposure override? This is the only way it seems I can get 359 shutter on my cams, I am in USA so it is NTSC so I can only get 359 degrees, I always wondered if I could get 360 but no matter what setting I did in fps I could only get 359 in movie mode, I guess thats the same as 360 to where it don't matter, but I always wondered if it would even help more with splits if I did get it to 360 exactly.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 20, 2013, 11:22:26 PM
7D has Exposure Override but it is not allowing to go below 1/30 in Video Mode.  To be exact  I can only get 1/28.7 (188deg) or 1/31.3(172deg)
This probably means that 7D needs a fix to Exposure Override.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 21, 2013, 12:20:18 AM
7D has Exposure Override but it is not allowing to go below 1/30 in Video Mode.  To be exact  I can only get 1/28.7 (188deg) or 1/31.3(172deg)
This probably means that 7D needs a fix to Exposure Override.
Does it Allow FPS feature, the only way we can get to 1/15 shutter is by using FPS at 14.985 and then go to adjust the Shutter by ML menu?
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 21, 2013, 12:37:21 AM
Yes with Tragic Lantern we have fps override.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 21, 2013, 01:10:51 AM
Yes with Tragic Lantern we have fps override.
Ah, I thought all the cam with ML had FPS, interesting, that is what makes developing so hard for the devs since they don't have access to every camera, sux Canon don't make things easier, LOL! You would think they would, because ML probably helps there cams sell more. Well, if you use TL and then use FPS to get it to 14.985 does it allow a slower shutter? Its very imporortant to lower the FPS first so you can go with lower shutter speed.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 21, 2013, 01:38:19 AM
Well, if you use TL and then use FPS to get it to 14.985 does it allow a slower shutter? Its very imporortant to lower the FPS first so you can go with lower shutter speed.
That is the problem!  It does not.. Will ask for  fix.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: RenatoPhoto on October 22, 2013, 05:24:49 PM
Found a bug in the buf_rec module (i.e. the bolt-rec.mo).  I have been simulating multiple strikes and if you set the Post-bolt frame count above 10 then after the second or third strike the module will continue to record and will not stop recording after a strike.  So if you set it, like I was suggesting to something like 50 frames (to prevent frame skipping), you will get the first strike correctly and on the second strike the recording will not stop.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on October 28, 2013, 03:50:59 AM
Found a bug in the buf_rec module (i.e. the bolt-rec.mo).  I have been simulating multiple strikes and if you set the Post-bolt frame count above 10 then after the second or third strike the module will continue to record and will not stop recording after a strike.  So if you set it, like I was suggesting to something like 50 frames (to prevent frame skipping), you will get the first strike correctly and on the second strike the recording will not stop.
Yeah, that is the bug I reported back when it was made but it was found that it was not a bug, that it had to do with the 550D buffer memory only have 2 buffers, I am suprised you get the same results on the 5D3 though, but yeah, this was already reported at least.

None of these bugs will matter when the new version is updated to work with the latest Raw_Rec. This was another issue what made me create bolt_raw, I don't have this issue with bolt_raw at all, it works flawless on bolts and it does not need post frames to record because it captures every flash during the sequence. With bolt_raw, I really don't need an update of the bolt trigger, I really have great success with the way it is and with my modifications, I couldn't be more pleased.

With our rolling shutter I really don't see any point of trying to capture video because it will just get ruined 50% of the time, so its best just to try for stills of each flash and not a whole video sequence.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: Hey on May 07, 2014, 04:46:30 PM
mk, apparently you have a 500D, can you tell if this module works fine on it ?
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on May 07, 2014, 08:39:58 PM
mk, apparently you have a 500D, can you tell if this module works fine on it ?
This module is no good for the 500D, it's hardware is slower and the scanline never becomes full so bolts will always be cut by scanline, plus live view gets very glitchy when it is used anyway. So far the only cam I have that it don't work on.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: Hey on May 07, 2014, 09:28:01 PM
Dang it, I guess I'll stay with motion detect then. Too bad, it seems to be a very neat and useful feature. Thanks for the info.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on May 07, 2014, 09:30:38 PM
Dang it, I guess I'll stay with motion detect then. Too bad, it seems to be a very neat and useful feature. Thanks for the info.
Yeah, I was frustrated to which is what made me upgrade to 550D.  :(
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: vstrglv on July 08, 2014, 07:07:26 AM
Hi, mk11174, thank you for your bolt.mo!
Raw Video: https://bitbucket.org/mk11174/magic-lantern/downloads/buf_raw.mo  (This is an older raw_rec.mo so do not load current raw_rec.mo at the same time)
Bolt Trigger: https://bitbucket.org/mk11174/magic-lantern/downloads/buf_bolt.mo
Download: https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo
       are dead.
Reload please. Do they work with July 2014 builds? 5D3v.113
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: milank on July 11, 2014, 01:56:33 PM
Hi mk11174, g3gg0 and others,
appreciate all effort in the above topic, and would love to test bolt_raw with my 60D :)
Because lot of links in this topic are dead, I finally ended up setting the build environment...
I collected several bolt_raw binaries and sources, however, compiling with latest unified fails instantly.
Would there be anybody willing to share the entire source tree including bolt_raw or to indicate against which revision should I compile?
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on July 11, 2014, 03:01:15 PM
Hi, mk11174, thank you for your bolt.mo!
Raw Video: https://bitbucket.org/mk11174/magic-lantern/downloads/buf_raw.mo  (This is an older raw_rec.mo so do not load current raw_rec.mo at the same time)
Bolt Trigger: https://bitbucket.org/mk11174/magic-lantern/downloads/buf_bolt.mo
Download: https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo
       are dead.
Reload please. Do they work with July 2014 builds? 5D3v.113
Hi, sorry, I don't have the buf_bolt one anymore, I just keep the bolt_raw up to date on my end since it will not be accepted as an update to bolt_rec that does not work anymore.

I myself use it all the time on my cameras, don't know which cameras it will work on, but so far it works on the 550D, the 600D, the 700D and the 5D2 as far as I know, it also works on the 500D, but its hardware is differ and does not capture full frames with it.

Here is the source I use, it compiles just fine with latest ML source. https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw_source.zip (https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw_source.zip)

Here is the compiled module for those that can't compile. https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo (https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo)
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: vstrglv on July 11, 2014, 03:50:01 PM
Thank you very much! Will try on 5D3
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mario1000 on July 11, 2014, 04:15:25 PM
Hi, sorry, I don't have the buf_bolt one anymore, I just keep the bolt_raw up to date on my end since it will not be accepted as an update to bolt_rec that does not work anymore.

I myself use it all the time on my cameras, don't know which cameras it will work on, but so far it works on the 550D, the 600D, the 700D and the 5D2 as far as I know, it also works on the 500D, but its hardware is differ and does not capture full frames with it.

Here is the source I use, it compiles just fine with latest ML source. https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw_source.zip (https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw_source.zip)

Here is the compiled module for those that can't compile. https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo (https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo)

It works very well with my 5D3 (nightly build 03.07.14) at a resolution of 1920x818 , 22 fps and Dual ISO (didnĀ“t tried more at the moment). Thanks a lot.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: vstrglv on July 11, 2014, 05:20:40 PM
Works fine at magiclantern-Nightly.2014Jul03.5D3113 1920x1080
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: milank on July 11, 2014, 05:27:43 PM
yep, I confirm, compiles and loads fine here, too...thank you!
So finally enjoying bolts on my 60D:)
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on July 11, 2014, 06:57:35 PM
Thank you very much! Will try on 5D3
Sounds good, by the way, these are just a couple of the day bolts I had gotten this year so far.
(http://s27.postimg.org/56odxww7n/000002.jpg)
700D capture

(http://s16.postimg.org/9sjl9flj9/000000.jpg)
700D capture

(http://s8.postimg.org/7h4rogqx1/000007.jpg)
700D capture

(http://s9.postimg.org/rhccl7tov/Becca_June_18_2014_Multi.jpg)
600D capture
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: vstrglv on July 13, 2014, 09:58:46 AM
Great!
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: milank on July 15, 2014, 11:49:30 AM
Following the latest advances in newly discovered SRM-memory, would there be any change in ability of SD cameras now to use the ring-buffer method?
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: vstrglv on July 20, 2014, 05:34:21 PM
https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo works fine on magiclantern-Nightly.2014Jul16.5D3113 build, but does not work on magiclantern-Nightly.2014Jul18.5D3113 build. It does not work on magiclantern-Nightly.2014Jul18.5D3113 build from https://bitbucket.org/mk11174/magic-lantern/downloads also.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on July 20, 2014, 09:00:47 PM
https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo works fine on magiclantern-Nightly.2014Jul16.5D3113 build, but does not work on magiclantern-Nightly.2014Jul18.5D3113 build. It does not work on magiclantern-Nightly.2014Jul18.5D3113 build from https://bitbucket.org/mk11174/magic-lantern/downloads also.
yeah, sorry, the new srm memory update caused this in both nightly and the fullres version on my bitbucket, but no worries, I already updated it to work, just forgot to upload it as an update, thanks for reminding me.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: vstrglv on July 21, 2014, 03:40:56 AM
Thanks a lot. Have you already upload this update? I can not find it on  https://bitbucket.org/mk11174/magic-lantern/downloads.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on July 21, 2014, 10:26:07 AM
Thanks a lot. Have you already upload this update? I can not find it on  https://bitbucket.org/mk11174/magic-lantern/downloads.
Ok, re upped it, should work with current nightly builds after srm memory add in. same link https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo (https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo)
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: vstrglv on July 21, 2014, 11:08:16 AM
Thank you very much!
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: milank on July 28, 2014, 07:55:59 PM
Just to keep the topic alive, this is the bolt_raw in action with SRM-memory updates, 1728x972, 60D, abt 50% of frames have some distorsion
(https://bitbucket.org/milank/magic-lantern/downloads/M27-1928_000003_so.jpg)
Prague, Ruzyne airport
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on July 28, 2014, 08:50:48 PM
Just to keep the topic alive, this is the bolt_raw in action with SRM-memory updates, 1728x972, 60D, abt 50% of frames have some distorsion

Nice job!, Nice bolt there! The 600D still has some pink frame issues as well like it always had with the old raw_rec that this was built from. For that cam I use the small hack feature in the bolt module and that def helps reduce them. One reason I wish there was away to make this work with the new raw_rec or mlv_rec because I know they are more reliable these days. Or just a whole new version of it. But the bolt trigger part of it is great, it always works fine gg3go created a fancy module here, its just the raw_rec part that the pink frames come from on certain cams.

Also, make sure your in movie mode and don't use beep, turn off in module, this all helps to keep camera stable for less corrupted frames, oh and of course for preview type, use only canon, not grayscale or anything, the less strain on camera the better.

Only cams I use that it works flawless on are the t5i and t2i, never have any issues with pink or corrupted frames on those cams, just the 600d/t3i out of my cams.

By the way, the srm-memory does not do anything with this module, since it is built from the old old raw_rec module, it does not include srm-memory patch.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: milank on July 29, 2014, 02:40:38 PM
Oh yes, I did not realize the workflow you used for bolt_raw. In addition, I had RAW accidentally selected as picture quality in Canon menu, not S2, as it should be. I know this has been reported to cause less memory issues during raw video recording, but it may have changed after SRM-memory updates. Beyond what has been said, let's wait for bolt-fullres-silent version commit and keep fingers crossed we will have a working trigger. All of you guys do awesome job here.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on July 29, 2014, 02:58:14 PM
let's wait for bolt-fullres-silent version commit and keep fingers crossed we will have a working trigger. All of you guys do awesome job here.
dmilligan has published a working version already locally. It works but will miss a few bolts for sure, not because he did a bad job, just because fullres lie view is very slow so it sometimes does not detect anything so will miss bolts totally, and sometimes it will trigger in the middle of a live view cycle or just a scan cycle and you will only get half the image captured sort of like the splits we get now but without the other piece to repair with later on.

I already compiled and can hook you up but do you have a fullres build, if not, what camera do you have I can build a version for you so you can test his module.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on August 10, 2014, 12:18:12 PM
I updated the bolt_raw module, added more scanlines because I found that the more the better to avoid splits that only save 1 of the parts of a split, the more scanlines you use the better the odds of getting both parts saved for merging in post.

Also, you have the ability to adjust the position of them from bottom squeezing them together upward to avoid detections of things on the ground or below the horizon and puts more use of the scanlines on the sky area.

Also fine tuned the autoexposure feature so it very quickly exposes at start until it gets to the trigger line then starts delaying how often it exposes so theres no looping and spaced the average and peaking out a bit to give more freedom in cloud level changes, the trigger picks even the weakest bolts with a good spike so the graph really does not need to be so tight against the trigger line.

And the last feature is the ability to use internal trigger or an external bolt trigger that plugs into your remote port. I recently bought one for testing and it works great, good option to have in case internal one does not work good for your sky.

https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo (https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo)
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on August 11, 2014, 05:10:34 PM
Updated the module above again just to get rid of some unused code to keep module small as possible.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: swinxx on August 11, 2014, 07:55:49 PM
Why isnt this in the nightlies?? Would be great if it could be merged..
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on August 11, 2014, 08:58:41 PM
Why isnt this in the nightlies?? Would be great if it could be merged..
Not exactly sure, I did try once but it was declined because of a promised new version of bolt_rec, but the creator came up with the cool mlv_rec so that is probably his main focus, which is fine because that module is awesome!!! I was just happy I could save the bolt_rec and the old raw_rec and merge them into 1 neat module. I cleaned it up pretty good, the only old stuff it uses still is the old buffer method, I don't know enough to convert it to the new way, plus it works fine so maybe leave well enough alone I guess. I will make sure its always available on my site though and will keep it up to date cause I use it for every storm I get.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: Canon eos m on August 12, 2014, 01:24:10 AM
Cool feature
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: Hey on August 12, 2014, 11:59:11 PM
Hi mk, you said bolt_raw was working on the 500D so I wanted to give it a try. A few test showed that it worked great, although now I'm stuck with a "cropmark" and can't for the life of me get rid of it. Pretty sure it has to do with the resolution thingie, but even after booting without it and playing with the settings it's still there... Any idea ?

Thanks!
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on August 13, 2014, 12:26:45 AM
Hi mk, you said bolt_raw was working on the 500D so I wanted to give it a try. A few test showed that it worked great, although now I'm stuck with a "cropmark" and can't for the life of me get rid of it. Pretty sure it has to do with the resolution thingie, but even after booting without it and playing with the settings it's still there... Any idea ?

Thanks!
Hmm, Not sure why theres a cropmark, the code doesnt have any cropmark code in it for the trigger. Maybe pull batter and card out, then put batter in without card, turn cam on into movie mode then clear camera setting from camera menu, turn cam off and try ML again and see if it helps, might be smart to delete the MAGIC.CFG file in the ML/settings folder on the card to get all default settings again.

The 500D is the one cam I have that I dont use the trigger on, it never had good results, especially when the pictures get split from the scanning.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: Hey on August 13, 2014, 12:56:21 AM
Alright, I'm a moron; these were from the native video resolution from canon, but for some reason they were still there in photo mode... Anyway thanks for your help and the fast reply!
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on August 22, 2014, 11:47:45 AM
Can someone with a 5D2 please quickly test the bolt trigger for me, my friend uses the very first version of bolt_raw I put together with the old old ML and it works just fine, but for some reason with the new version of ML he says he gets scrambled images??? It works fine on all my cameras except on my t5i if I try to record  at 5x mode and I choose the max res and aspect it lets me I get the same garbled images and alls I have to do is choose the next size down and they come out fine.

My friend is much older and really is not the tester type at all, so I was hoping someone can load it up and try it at max res and aspect and see if its garbled then maybe try next size down? Or just some kind of look over and see when the garbled images happen so maybe I can track the issue down for him?

The build is from the fullres source only because that is the one I mostly am compiling from these days myself.

Maybe you can also try the module on the nightly and see if that is all it is?

I only included the 2 modules needed, bolt_rec and mlv_play which is needed for the preview of the clips after you record them.

Just test it on anything that makes it capture some frames and see if they are garbled.

Thanks in advanced.

https://bitbucket.org/mk11174/magic-lantern/downloads/magiclantern-Nightly.2014Aug22.5D2212.zip (https://bitbucket.org/mk11174/magic-lantern/downloads/magiclantern-Nightly.2014Aug22.5D2212.zip)

UPDATE: LOL, I actually figured it out, so no need to test, I just copied all the resolution and cropmark coding to the bolt trigger and all is working with the correct max resolutions figured by the code!
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on August 22, 2014, 03:42:37 PM
Here is the updated version of bolt_raw. Has all the resolution code from the latest raw_rec so more compatible when doing 5x or crop modes.

Added Rel trigger back in as a 2nd option.

Only thing it really does not have is the SRM and SLOTS for buffering, but we are only capturing 1 frame at a time, so the old method is just fine for this. But if I knew how to convert the code to SRM and SLOT buffering, I would just to have it fully up to date.

Only thing is menu clutter for the trigger menu, but will work on it.

Ideas for the menu organizing is welcome.  :)

https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo (https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo)
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on August 23, 2014, 10:14:18 PM
Updated the bolt_raw source in case anyone needs it, much cleaner and easier to figure out what I did with the 2 modules.

https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw_source.zip (https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw_source.zip)
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on September 11, 2014, 06:00:17 PM
Did another update the the bolt trigger which helps expose the scene better when you turn on the auto expose feature.

The older one used the trigger data to adjust and detect, now I have them doing there own thing and works much better.

Also added some options to tweak the colors of the graphs.

Sucks the lightning season is almost at its end here in Florida  :'(

https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo (https://bitbucket.org/mk11174/magic-lantern/downloads/bolt_raw.mo)
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on September 12, 2014, 09:25:34 PM
Had a typo in the timelapse code which caused a recording loop which I found out today during a storm of course. But I fixed and tested it and working fine now.

Use links above for module and source.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: mk11174 on September 14, 2014, 02:27:14 AM
Finally figured out how to add the source online, so now any updates will be online now.

https://bitbucket.org/mk11174/bolt_trigger/src/c9664a1e3418077c2eb094514c719e19d39540e1/modules/bolt_raw/?at=unified (https://bitbucket.org/mk11174/bolt_trigger/src/c9664a1e3418077c2eb094514c719e19d39540e1/modules/bolt_raw/?at=unified)
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: Ottoga on November 29, 2014, 02:18:02 AM
Links to buf_raw and buf_bolt appear to be broken.

I still keep one CF card with TL installed on it so it would be nice to be able compare this to bolt_raw.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: beanz on January 10, 2015, 11:52:05 AM
Is this still being developed or has the motion detect taken over? If it is, Will the 7D be included. I've tried to run it on my 7D which runs but has bugs.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: Walter Schulz on January 10, 2015, 11:57:13 AM
It takes bug reports to get rid of bugs. So, please ...
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: Sapporo on May 05, 2015, 10:47:24 AM
The bug in the 7D is that it will trigger no matter what. Last year when I tried it out it worked, but today when I try again, it trigger all the time. Trigger value 6000, it trigger. Trigger value 2000, it trigger.
Title: Re: Bolt trigger module test results (bolt_rec.mo)
Post by: StormCapture on October 18, 2016, 07:34:09 AM
Hi Guys, newbie here from Down Under in Australia.

First thing I'll say is WOW to those awesome lightning shots, rippers they are. How do you get the shots to look like that? All this is new to me and as a keen weather enthusiest this would be a very handy module to understand and use.

I have just recently put this module on as I bumped into it a few days ago and was thinking that this may be useful to have, I am going to test it out on Thursday as we do have the chance of storms from mid arvo.


How do you view these on a computer to save the best shots? I've looked and found some software on other forums but when I download it my anti-virus decides to remove it and I tell it to restore it but continues to, found another one but kept crashing.
Any sort of help would be appreciated as I use a Lightning trigger and has a nasty habit of triggering off false images.