KT motor controllers -- Flexible OpenSource firmware for BMSBattery S/Kunteng KT motor controllers (0.25kW up to 5kW)

stancecoke said:
OK, then I'll discard the thing at jimdo and will register at bitbucket. But I think, cherrytree will not be my favorite tool to create websites...
Ok then. Cherrytree is fast for taking notes and happens that also export to HTML.
Gives trust to me something done and written by tecnhical guys/developers, and not something fancy that seems the output of (just) marketing and commercial guys. I think our target are users that are tecnhical and they should identify themselves with our no fancy documentation.
 
OK, I think you have to give me some advise how to add content to the bitbucket site.

You are right, the site has not to be fancy, but is has to be well structured and not just a ragbag of thoughts. There should be a common theme visible all the time...

regards
stancecoke
 
stancecoke said:
OK, I think you have to give me some advise how to add content to the bitbucket site.

You are right, the site has not to be fancy, but is has to be well structured and not just a ragbag of thoughts. There should be a common theme visible all the time...

edit: something went wrong, everything was deleted on bitbucket?!
So, I just had renamed the older repo and created a new one, were I put the files again, so this new repo has no history and so should has less than 2GBytes, which is the limit of bitbucket.

I created this folder "windows_instructions" (can be renamed later) and put a testing index.html file there:
https://opensourceebikefirmware.bitbucket.io/windows_instructions/



So, prepare your notes and export as HTML. Upload the files to the "windows_instructions" folder and we will have there the documentation.
That is a git repository, just like on github: https://bitbucket.org/opensourceebikefirmware/opensourceebikefirmware.bitbucket.io
And I just gave you write access.
 
I've just added the first blueprint of the english tutorial for windows:
https://opensourceebikefirmware.bitbucket.io/windows_instructions/

I took a free layout from the web and used KompoZer for editing.

For translation I used deepl, the translation is not revised yet.

I hope that helps our future "customers" :wink:

regards
stancecoke
 
stancecoke said:
I've just added the first blueprint of the english tutorial for windows:
https://opensourceebikefirmware.bitbucket.io/windows_instructions/

I used a free layout from the web and edited it with KompoZer.

For translation I used deepl, the translation is not revised yet.

I hope that helps our future customers :wink:
It works and I like the content (pictures, text and the structure).
What I don't like much:
- I think the steps should be in a vertical list (maybe numbered)/vertical menu and not at top and horizontal menu. I think is not clear that it is a list of steps and that user should start from left to right and follow that sequence
- The top banner image seems unrealistic, I would prefer a real image
- Manage expectations: I think all that colors, top banner and layout seems to give impression of a product/service from a company which is not the reality. I think we should lower expectations, keep clear that the firmware is not a product from an existing company and users should not expect a polish product and professional customer support.
Also seems we are competing with Kunteng and BMSBattery, because like that we seem to have an equal or even better website. I was thinking of a website more like an user manual that could be like a complement to Kunteng and BMSBattery documentation and not kind of direct competition. We depend on their success, we need to keep a good relation with them, they should not feel that we are try to compete with them (and we are not!).
 
Dear casainho,

a simple "thank you" would have been enough....

I've added a disclaimer that this is a hobby project and a numbering of the steps.

regards
stancecoke
 
Sorry to be a pain guys but I'm having a problem with the latest 'master branch'. It goes like this:-

If I download it and run it from directly from 'Start_Compliling.bat it runs ok and will continue to do so with further attempts.

If I run it via 'OSEC Parameter Configurator.jar' it fails to transfer data to the controller. After doing this any attempt to run it from 'Start Compiling.bat' also fails.

I've attached a cmd log (from a failed run) - maybe you could take a look....?

Geoff.
 

Attachments

  • Master branch cmd log.txt
    11.3 KB · Views: 102
stancecoke said:
Dear casainho,

a simple "thank you" would have been enough....

I've added a disclaimer that this is a hobby project and a numbering of the steps.
I recognize that you have been tireless and the fact that the firmware is practically finished is the result of much of your effort.

And I will link on the main page to this instructions, trying to give main focus to the actual main page + install instructions for Windows and install instructions on Linux (will need to write them, but will be copy-paste from actual notes). The current notes/documentation for developers will be at the end, with lower focus.
 
@geofft:
can you please upload your latest config.h?
perhaps you can try to delete the old config.h before clicking "write configuration"

@casainho: you're welcome!

regards
stancecoke
 
geofft said:
Sorry to be a pain guys but I'm having a problem with the latest 'master branch'. It goes like this:-

If I download it and run it from directly from 'Start_Compliling.bat it runs ok and will continue to do so with further attempts.

If I run it via 'OSEC Parameter Configurator.jar' it fails to transfer data to the controller. After doing this any attempt to run it from 'Start Compiling.bat' also fails.

I've attached a cmd log (from a failed run) - maybe you could take a look....?
I also get that errors while building and seems the config.h file generated by the Java tool duplicates some define like: "MOTOR_ROTOR_OFFSET_ANGLE" - I hope Stancecoke can resolve this issue.
Code:
#define MOTOR_ROTOR_OFFSET_ANGLE 202
#define ADC_MOTOR_CURRENT_MAX 30
#define ADC_MOTOR_REGEN_CURRENT_MAX 30
#define MOTOR_ROTOR_OFFSET_ANGLE 137
 
stancecoke said:
ahh, okay, that's a copy-paste error, I can fix it easily :)
Also my mistake on main.h, need to delete #define MOTOR_TYPE MOTOR_TYPE_Q85. Can you do that also? When you confirm, I can also try build on my side to test.
 
Stancecoke, not sure if you need config.h now but I've attached it below.
 

Attachments

  • config.h
    1.1 KB · Views: 93
Thank you, geofft. I've just updated the Java tool in the master branch. I fixed the double entry of MOTOR_ROTOR_OFFSET_ANGLE. The log assumed that there could be another problem with the MOTOR_TYPE, but I can't find a further error.

regards
stancecoke
 
Yup, looks good now, many thanks.

I look forward to trying it 'on the road' tomorrow...... :wink:
 
There was an error of redefinition MOTOR_TYPE, I corrected. I also renamed config.h to config-example.h so it is not overwritten by the Java tool. Geofft, please download again and use it.
 
Still seems ok.

I can see config-example.h amongst the files now so I'm on the right download.
 
casainho said:
Can you do that also? When you confirm, I can also try build on my side to test.
sorry, I have not recognized your post in time...

regards
stancecoke
 
Stancecke, I updated the main documentation with a link to your Windows instructions but unfortunately I am short of time now and my internet connection is bad and failing to upload the changes - hope to have it ready by the end of day.
And the Java tool fails on Linux, because some commands it uses are only for Windows -- anyway, that config-example.h should be enough for a Linux user, so no need to work on Java tool for Linux.

 
casainho said:
And the Java tool fails on Linux, because some commands it uses are only for Windows

That should be easy to solve in Java, I think we can keep one common Java-Tool. But i don't know the syntax of the linux command lines...
see here
Code:
       public class OSValidator {

    private static String OS = System.getProperty("os.name").toLowerCase();

    public static void main(String[] args) {

        System.out.println(OS);

        if (isWindows()) {
            System.out.println("This is Windows");
        } else if (isMac()) {
            System.out.println("This is Mac");
        } else if (isUnix()) {
            System.out.println("This is Unix or Linux");
        } else if (isSolaris()) {
            System.out.println("This is Solaris");
        } else {
            System.out.println("Your OS is not support!!");
        }
    }

    public static boolean isWindows() {
        return (OS.indexOf("win") >= 0);
    }

    public static boolean isMac() {
        return (OS.indexOf("mac") >= 0);
    }

    public static boolean isUnix() {
        return (OS.indexOf("nix") >= 0 || OS.indexOf("nux") >= 0 || OS.indexOf("aix") > 0 );
    }

    public static boolean isSolaris() {
        return (OS.indexOf("sunos") >= 0);
    }
    public static String getOS(){
        if (isWindows()) {
            return "win";
        } else if (isMac()) {
            return "osx";
        } else if (isUnix()) {
            return "uni";
        } else if (isSolaris()) {
            return "sol";
        } else {
            return "err";
        }
    }

}
I just added the basic functionality of operating system detection to the source code of the Java tool, we have to add the linux commands...

regards
stancecoke
 
stancecoke said:
That should be easy to solve in Java,
We would need to use an IDE that also works on Linux, there should be for sure some that also is easy to put the UI widjets visually. Also I think you are not sharing the project file for the IDE you are using.
 
casainho said:
We would need to use an IDE that also works on Linux, there should be for sure some that also is easy to put the UI widjets visually. Also I think you are not sharing the project file for the IDE you are using.

Eclipse for Java developers will run on Linux of course?! The java code should work with it without problems...
see this post:
https://endless-sphere.com/forums/viewtopic.php?p=1341649#p1341649

You should open the OCEC.java with the WindowBuilder Editor. Then you can edit the graphic interface by drag and drop.

regards
stancecoke
Java_Windowbuilder.png

Design tab.png

Design Window.png
 
stancecoke said:
You should open the OCEC.java with the WindowBuilder Editor. Then you can edit the graphic interface by drag and drop.
Go it thanks.

Do you plan an improvement to the tool? Because I think would be better to have the options grouped in sections, as I did on config-example:
1. THROOTLE options
2. PAS options
3. LCD options
4. BATTERY options
5. MOTOR options
6. MOTOR CONTROLLER options

Also, things like on MOTOR CONTROLLER: ADC_MOTOR_CURRENT_MAX that each unit is 0.5A, the user could put the motor current value in amps and the tool in background would validate the input and multiply *2 to get the ADC motor current value. Well, but I must say this would be a lot of work!! That is an idea but I guess our users don't really need this level of detail.
 
casainho said:
Do you plan an improvement to the tool?

To be honest, I'm already working on my next project. But once you have managed to edit the tool for the Linux implementation, you can bundle the parameters easily in the way you like, just by dragging the items with the mouse.
You have to choose file-->export-->as runnable jar for building the executable jar-file.

I can add the few command lines for Linux, if you tell me the syntax. This will take just a few minutes.

regards
stancecoke
 
Back
Top