Is there a reason to add the elapsed seconds to the previous frames elapsed seconds and save that as the charge variable? I think it would cause faster frame rates to reach the max charge value faster. If you are using a hold and release trigger with the hold time set to .65 I would just do it like this;
The input action can only ever trigger if it was held for .65+ seconds before released, and canceled will fire if it is held for less than .65 seconds.