Pack Builder (Repackr)

Status
Not open for further replies.

TheBatteries

Administrator
Joined
Oct 8, 2016
Messages
2,127
Peter got permission from the owner of Repackr to set up a copy of the pack builder utility here. It's actually open source on github. Anyway, just wanted to let everyone know that it's now available in the top-right links menu. A small update, but a fun update nevertheless.

http://secondlifestorage.com/repacker.php

Enjoy :)
 
I noticed the "Cell Counter" is also now up there. However, I'm not sure I like the open new window feature, tho. I'd rather it just stay in the current window/tab. That's MHO ;)
 
can your progress be saved? For example if I enter 1200 different cell capacities and are only half way through, Can I save where I am up to or do I have to leave the window open until i come back?
 
No progress saving at this time. You can update your information as you add more cells/packs to your system, though. When you come back to the page, it'll load your information and just change what ever values you need to change.
 
I was using it the other day, my first comment was ' can I save this ' lol
 
No worries, thanks boys!
 
hbpowerwall said:
I was using it the other day, my first comment was ' can I save this ' lol

I ended up typing all my cells into a spreadsheet as I processed themand then did an export out of that into the pack builder tool. Worked really well!
 
The paste in spreadsheet is nice but can this be saved in my account? Can I / you give packs name / code to easily associate bin to pack while sorting batteries.

Thanks for this tool
 
benhamel said:
The paste in spreadsheet is nice but can this be saved in my account? Can I / you give packs name / code to easily associate bin to pack while sorting batteries.

Thanks for this tool

I have plans for the repackr. Plans that will address this along with adding several new features. It's still a few months away though.
 
I record my cells into a spread sheet, from the time I open the original battery pack, recording the initial voltage, first charge voltage, test voltage after 3-4 week, capacity charge, last charge voltage, each cell has it own ID so I can reference it back to my spreadsheet for information about that cell if need be,
what I would like is that when the cells are entered into repacakr, that I can enter the ID and Capacity,
and it spits out the ID in the groupings, so I can then easily find the cell I need for each pack / bank.
can this be done ? or have I missed somewhere it's already doing this,
thank you for your time,

Nigel
mike said:
benhamel said:
The paste in spreadsheet is nice but can this be saved in my account? Can I / you give packs name / code to easily associate bin to pack while sorting batteries.

Thanks for this tool

I have plans for the repackr. Plans that will address this along with adding several new features. It's still a few months away though.
 
Korishan said:
Yes, but repackr isn't programmed that way. Take a look at Brett Watty's build: https://secondlifestorage.com/t-Arduino-Nano-4x-18650-Smart-Charger-Discharger-Battery-Tester

He has a system that id's each cell with barcodes and pull the data from the cell database.

In the end I wrote some code to do what I needed ( using the repackr output )
i'll put it here in case anyone is interested, it's written in AutoIT, it's rough, but works for my needs,,

example of the data I used,


-- MyData -- ( has battery ID and Capacity )
B1,5385
B2,5293
B3,4500
B4,4756
B5,4499
B6,4736
B7,4148
B8,5299
B9,4216
B10,4242
B11,4203
B12,4080
B13,4112
B14,4432

-- Data entered into rePackr ---
5385
5293
4500
4756
4499
4736
4148
5299
4216
4242
4203
4080
4112
4432

--- output from rePackr -- put this into a spreadsheet and saved as a .csv file
4756 5293 4500 4432 4736 5299 5385
4216 4112 4499 4242 4203 4148 4080

--- Run it through my code, and the output ---
B4,B2,B3,B10,B6,B7,B1
B9,B13,B5,B14,B11,B8,B12

--- and the code I wrote ---

Code:
#include <MsgBoxConstants.au3>
#include <Array.au3>
#include <File.au3>


$BatteryPreFix = InputBox("ID Prefix","If you use a letter Prefix in your battery numbering, enter it here","B")

$sMessage = "Select your .csv file"
$BaseFile = _OpenMyFile($sMessage)
Dim $BaseFileArray

$sMessage = "Select your rePackr .csv file"
$RePackrFile = _OpenMyFile($sMessage)
Dim $rePackerArray

_FileReadToArray ($RePackrFile,$rePackerArray,0,",")
_FileReadToArray ($BaseFile,$BaseFileArray,0,",")

$Series = ubound($rePackerArray,2)
$Parallel = ubound($rePackerArray,1)
$PackSize = $Series * $Parallel
$BaseSize = ubound($BaseFileArray)
if $BaseSize < $PackSize Then
 MsgBox(0,"","rePackr and Base '.csv' files are not the same size" & @crlf & "rePackr file is " & $PackSize & ", baseArray is " & $BaseSize)
 Exit
EndIf

ConsoleWrite("$Series " & $Series & ", $Parallel " & $Parallel & @CRLF)
TrayTip("Building Pack Data","S" & $Series & ", P" & $Parallel, 10)
_ArraySort($BaseFileArray,1,default ,default ,1)

For $loopSerial = 0 to $Series -1
 for $loopParallel = 0 to $Parallel-1
  For $loopBase = 0 to $BaseSize -1
   if $rePackerArray[$loopParallel][$loopSerial] = $BaseFileArray [$loopBase][1] then
    $rePackerArray[$loopParallel][$loopSerial] = Number(StringReplace($BaseFileArray [$loopBase][0],$BatteryPreFix,""))
    $BaseFileArray [$loopBase][1] = ""
    ExitLoop
   EndIf
  Next
 Next
Next


For $loopSerial = 0 to $Series -1
 Dim $tempHoldArray [$Parallel]
 for $loopParallel = 0 to $Parallel-1
  $tempHoldArray[$loopParallel] = Number($rePackerArray [$loopParallel][$loopSerial])
 Next
 _ArraySort($tempHoldArray)
 for $loopParallel = 0 to $Parallel-1
  $rePackerArray [$loopParallel][$loopSerial] = $BatteryPreFix & $tempHoldArray[$loopParallel]
 Next
; _ArrayDisplay($rePackerArray)
Next

_ArrayDisplay($rePackerArray)
$sFilePath = "MyPackFile.csv"
_FileWriteFromArray($sFilePath, $rePackerArray, 0, Default , ",")
MsgBox(0,"","Exported Data to file:" & @crlf & @ScriptDir & "\" & $sFilePath)
ShellExecute(@ScriptDir)

Exit


Func _OpenMyFile($sMessage)
 Local $sFileOpenDialog = FileOpenDialog($sMessage, @ScriptDir & "\", "csv (*.csv)", BitOR($FD_FILEMUSTEXIST, $FD_MULTISELECT))
 If @error Then
 MsgBox($MB_SYSTEMMODAL, "", "No file(s) were selected.")
  Exit
 Else
 $sFileOpenDialog = StringReplace($sFileOpenDialog, "|", @CRLF)
  return $sFileOpenDialog
 EndIf
EndFunc
 
noddle said:
I record my cells into a spread sheet, from the time I open the original battery pack, recording the initial voltage, first charge voltage, test voltage after 3-4 week, capacity charge, last charge voltage, each cell has it own ID so I can reference it back to my spreadsheet for information about that cell if need be,
what I would like is that when the cells are entered into repacakr, that I can enter the ID and Capacity,
and it spits out the ID in the groupings, so I can then easily find the cell I need for each pack / bank.
can this be done ? or have I missed somewhere it's already doing this,
thank you for your time,

Nigel
I built an excel based repackr that does this.
Here's the thread:https://secondlifestorage.com/t-Excel-based-RePackr
Find the file on My google Drive:https://drive.google.com/drive/folders/1srmTktrdsLH11zkxoVVx-Y49m5V34Ug6
 
Status
Not open for further replies.
Back
Top