|
RomRaider
Documentation
Community
Developers
|
| Author |
Message |
|
rimwall
|
Post subject: FastECU development Posted: Sat Jun 29, 2024 10:03 am |
|
 |
| Experienced |
Joined: Fri Aug 21, 2020 10:05 am Posts: 321
|
|
FastECU is the only open source GUI flashing tool that I am aware of. The author (MiikaS) has paused development for the time being. However, some other folks are keen to step in to keep FastECU moving forward.
The purpose of this thread is to provide a common location for the folks working on FastECU enhancements to communicate and collaborate. Of course, anyone with an interest can also contribute.
Current ‘work underway’ includes: - make the Hitachi (and other) processors (work mainly done by SergArb) as new modules so they can be selected like all the other modules - attempts underway for a client / server version. Not sure of status and how much rewriting of core code might be required? If rewriting is required, is this something we do first before any other enhancements?
Also need to figure out most efficient ways to make changes within GitHub repo/branch system. Open to ideas?
|
|
| Top |
|
 |
|
SergArb
|
Post subject: Re: FastECU development Posted: Sat Jun 29, 2024 11:20 am |
|
 |
| Experienced |
 |
Joined: Sun Aug 18, 2019 12:10 pm Posts: 278 Location: Russia, Ulan-Ude (Near Lake Baikal)
|
|
Hello.
I'm not very familiar with GitHub. So, I will continue contribute by sending my corrected module files to rimwall. Then team can add or make the changes/updates in a Git.
Most of Hitachi ECU's now is tested. I'm bricked few ECU's while testing. But still a lot of work with old Hitachi ECU's. Because we didn't know how to unbrick them without expensive tools. And I don't have a dozen tones of this ECU's. I have to buy them again and again, waiting for delivery and so on.
_________________ Subaru Outback BR9 EDM 2010 EJ253 CVT... Subaru Impreza GG2 JDM 2001 EJ152 AT... Some Hitachi ROM's modifications...
|
|
| Top |
|
 |
|
alesv
|
Post subject: Re: FastECU development Posted: Mon Jul 01, 2024 8:51 am |
|
 |
| RomRaider Donator |
Joined: Fri Aug 26, 2016 8:21 am Posts: 154
|
Hi! Quote: Also need to figure out most efficient ways to make changes within GitHub repo/branch system. I think that in current situation we should choose what repository will be the main. It means that everyone who wants to contribute should contribute to that repo. One of the options is to keep https://github.com/miikasyvanen/fastecu-oem as main repo. Although Miika has paused the development, with collaborator access to the repo it's possible to do most of things, including approving pull requests and many more. The other option is to use some other repo as main. In this case it would be harder to keep all forks consistent, especially upstream. Anyway, all forks should be 'synced' before development starts - I saw some forks are behind and ahead of Miika's repo. Next forks and branch usage rules should be introduced. Usually simple rules are enough: - Development branch in main repo created
- All developers creates separate branch for each feature (for example, named 'develop/feature-cvt-support'), issue (develop/fix-123), refactor etc. No changes in fork's 'main' branch should be done.
- A branch should have human readable name
- Developer make pull request (PR) to main repo when the work on feature/issue/etc is done.
- One feature/issue/fix/etc at a time. If PR consists of several loosely coupled changes, if should consists of several commits (one for each change), but as less as possible.
- All unfinished work should not go to the main repo. It should stay in developer's local repo. Any branch from main repo should build.
Repo owner or person with collaborator access then checks PR, approves it, merges with develop or main branch or any other if needed. Quote: - attempts underway for a client / server version. Not sure of status and how much rewriting of core code might be required? If rewriting is required, is this something we do first before any other enhancements? I have wrote proof of concept that works over secure WebSocket broker and also it works over local named pipes\sockets. To implement it, refactoring is required. A couple words of what I propose. A client is a small app that gives access to read/write equipment only, no or minimum user interaction. FascECU starts in server mode. It is hidden a little bit and is activated though CLI parameter. They both connects to broker that runs on public IP. Then FastECU works as if connection to device was direct. What changes I propose. All work with ECU is done via SerialPortActions class. I propose to make a wrapper class, that hides direct work with SerialPortActions class. That wrapper class will use getters/setters/member calls only, without direct access to class fields. This would hide implementation and will allow to make changes (including change of network transport) with minimum impact to other components. That wrapper detects mode in which FastECU was started and calls local SerialPortActions instance or remote. For remote connection Qt Remote Objects framework is used. It allows to call remote class instance as if it were local. Qt Remote Objects could work over network and over local sockets/named pipes, which makes possible to migrate FastECU to 64-bit leaving small part responsible for OpenPort support 32-bit. I think wrapper class should be implemented first but without remote support. It's because it will affect most part of software. And then all client/server development will be isolated. To avoid merge conflict all developers' repos should be synced before these changes. Also I am opened for other ideas and proposals.
_________________ 2Boost Subaru mod
Last edited by alesv on Mon Jul 01, 2024 10:20 am, edited 1 time in total.
|
|
| Top |
|
 |
|
alesv
|
Post subject: Re: FastECU development Posted: Mon Jul 01, 2024 9:14 am |
|
 |
| RomRaider Donator |
Joined: Fri Aug 26, 2016 8:21 am Posts: 154
|
SergArb wrote: I'm not very familiar with GitHub. It's easy enough. There's excellent graphic tool called Github Desktop. All you have to do is to fork a repo, create a branch for development (usually it's called 'develop'). Than you work as usual and when the work is done, you commit your changes and then pushes your changes to your fork. And then you could create pull request (also called PR) to include you changes in upstream. It's all intuitive enough. Please don't hesitate to ask me. I'm certainly not an expert, but I'll do my best.
_________________ 2Boost Subaru mod
|
|
| Top |
|
 |
|
MiikaS
|
Post subject: Re: FastECU development Posted: Mon Jul 01, 2024 10:02 am |
|
 |
| Experienced |
Joined: Tue Jun 06, 2017 6:11 pm Posts: 215
|
Hi all! As rimwall said, for some time I have had very limited time for development things and I can't say for sure does it take few months or a year to get back to normal state... I'm still here if anyone have any questions about software or anything else. And if there is people who are willing to participate this, I can give collaborator access to the repo. First things maybe could be merging rimwalls changes to repo in the right way so there is solid base to start making changes. There is many new TCU and ECU modules/protocols to add and they should be sorted out. Also it would be nice to have other opinions also if there is other things that should be done other/better way, cause I think there is. And many 
|
|
| Top |
|
 |
|
jimihimisimi
|
Post subject: Re: FastECU development Posted: Mon Jul 01, 2024 3:34 pm |
|
 |
| Newbie |
 |
Joined: Tue Apr 05, 2022 4:57 pm Posts: 60
|
SergArb wrote: Most of Hitachi ECU's now is tested. I'm bricked few ECU's while testing. But still a lot of work with old Hitachi ECU's. Because we didn't know how to unbrick them without expensive tools. And I don't have a dozen tones of this ECU's. I have to buy them again and again, waiting for delivery and so on. Which Hitachi ECUs still need work? I have a collection of old Subaru ECUs and have a few Hitachi's that should be reflash-able (MY98+): UJ WA12212930WWW (M32151F8T) 98-02 USDM Impreza 2.5RS UJ WA12212970WWW (M32176F4) 03-04 USDM Impreza 2.5RS
_________________ 2000 Subaru Impreza 2.5RS EJ251 5MT TY754 2005 Saab(aru) 9-2x Linear EJ253 5MT TY754 2014 Subaru Tribeca EZ36D 5EAT TG5D
Last edited by jimihimisimi on Sun Jul 07, 2024 4:12 am, edited 1 time in total.
|
|
| Top |
|
 |
|
rimwall
|
Post subject: Re: FastECU development Posted: Tue Jul 02, 2024 2:15 am |
|
 |
| Experienced |
Joined: Fri Aug 21, 2020 10:05 am Posts: 321
|
Hi, great to see we've got the ball rolling! On the GitHub side of things I am happy for MiikaS to give me collaborator access to his FastECU repo. As an aside, I am certain alesv's coding abilities far exceed mine, so I'm also more than happy for alesv to have the collaborator access instead of me! In terms of Hitachi processors, we should already have UJ30 and UJ70 covered, but I'm not entirely sure. SergArb has been coding various access methods by writing different versions of the existing modules. I've gone through the various files SergArb has sent me over the last few months in multiple emails and attached them here. It's rather confusing digging back through the emails where we were figuring out the access methods. Could SergArb please check that I have the correct details and files and update any missing info. Am I missing any files? Also, for each file, what settings were used for the flash blocks? Once we are clear on these details, I can do the coding to make these separate modules (instead of various versions of the same module). Thanks! Code: Processor Processor ROM ECU or Comms Flash File Manufacturer Code Size TCU Type Blocks Name ---------------------------------------------------------------------------------------------------------------------------------------------------------------- Mitsubishi MH8104 512kB TCU CAN ?? Mitsubishi Melco MH8104 512kB flash_tcu_subaru_hitachi_m32r_can.cpp Mitsubishi MH8111 1536kB TCU (CVT) CAN ?? Mitsubishi Melco MH8111 1536kB flash_tcu_cvt_subaru_hitachi_m32r_can.cpp Hitachi UJ UJ20/30/40/70 128/256/512kB? ECU Kline ?? UJ 512kB flash_tcu_subaru_hitachi_m32r_kline.cpp Hitachi ?? ?? 1MB TCU CAN ?? 1MB Hitachi CAN flash_tcu_subaru_hitachi_m32r_can.cpp Mitsubishi ?? ?? ECU Kline ?? Subaru Mitsubishi ECU flash_tcu_subaru_hitachi_m32r_kline.cpp ?? ?? 2048kB TCU? Levorg CAN ?? 2048kB Levorg flash_tcu_subaru_hitachi_m32r_can.cpp
You do not have the required permissions to view the files attached to this post.
|
|
| Top |
|
 |
|
SergArb
|
Post subject: Re: FastECU development Posted: Tue Jul 02, 2024 7:25 am |
|
 |
| Experienced |
 |
Joined: Sun Aug 18, 2019 12:10 pm Posts: 278 Location: Russia, Ulan-Ude (Near Lake Baikal)
|
rimwall wrote: Hi, great to see we've got the ball rolling!
Code: Processor Processor ROM ECU or Comms Flash File Manufacturer Code Size TCU Type Blocks Name ---------------------------------------------------------------------------------------------------------------------------------------------------------------- Mitsubishi MH8104 512kB TCU(CVT) CAN ?? Mitsubishi Melco MH8104 512kB flash_tcu_subaru_hitachi_m32r_can.cpp Mitsubishi MH8111 1536kB TCU (CVT) CAN ?? Mitsubishi Melco MH8111 1536kB flash_tcu_cvt_subaru_hitachi_m32r_can.cpp Hitachi UJ UJ20/30/40/70 128/256/512kB? ECU Kline ?? UJ 512kB flash_tcu_subaru_hitachi_m32r_kline.cpp Hitachi SH7058 1MB [b]ECU[/b] CAN ?? 1MB Hitachi CAN flash_tcu_subaru_hitachi_m32r_can.cpp Mitsubishi M32R 512kB ECU Kline ?? Subaru Mitsubishi ECU flash_tcu_subaru_hitachi_m32r_kline.cpp Hitachi SH72543R 2048kB [b]ECU[/b] Levorg CAN ?? 2048kB Levorg flash_tcu_subaru_hitachi_m32r_can.cpp
_________________ Subaru Outback BR9 EDM 2010 EJ253 CVT... Subaru Impreza GG2 JDM 2001 EJ152 AT... Some Hitachi ROM's modifications...
|
|
| Top |
|
 |
|
SergArb
|
Post subject: Re: FastECU development Posted: Tue Jul 02, 2024 7:27 am |
|
 |
| Experienced |
 |
Joined: Sun Aug 18, 2019 12:10 pm Posts: 278 Location: Russia, Ulan-Ude (Near Lake Baikal)
|
jimihimisimi wrote: Which Hitachi ECUs still need work? I have a collection of old Subaru ECUs and have a few Hitachi's that should be reflash-able (MY98+): UJ WA12212930WWW (M32151F8T) 98-02 USDM Impreza 2.5RS UJ WA12212970WWW (M32?????????) 03-04 USDM Impreza 2.5RS All old Hitachi K-Line WA12212920-70WWW with AF security access method. Need to find a non expensive way for unbricking.
_________________ Subaru Outback BR9 EDM 2010 EJ253 CVT... Subaru Impreza GG2 JDM 2001 EJ152 AT... Some Hitachi ROM's modifications...
|
|
| Top |
|
 |
|
SergArb
|
Post subject: Re: FastECU development Posted: Tue Jul 02, 2024 7:34 am |
|
 |
| Experienced |
 |
Joined: Sun Aug 18, 2019 12:10 pm Posts: 278 Location: Russia, Ulan-Ude (Near Lake Baikal)
|
Mitsubishi MH8104: Code: {0x00000000, 0x00004000}, {0x00004000, 0x00002000}, {0x00006000, 0x00002000}, {0x00008000, 0x00078000},
Mitsubishi MH8111: Code: {0x00000000, 0x00040000}, {0x00040000, 0x00020000}, {0x00060000, 0x00020000}, {0x00080000, 0x00100000},
Hitachi SH7058: Code: {0x00000000, 0x00100000}, Mitsubishi M32R: Code: {0x00000000, 0x00004000}, {0x00004000, 0x00002000}, {0x00006000, 0x00002000}, {0x00008000, 0x00078000},
Hitachi SH72543R: Code: {0x00000000, 0x00006000}, {0x00006000, 0x001FA000},
Hitachi UJ70 512kB: Code: {0x00000000, 0x00080000}, I didn't done AF access methods for old Hitachi.
_________________ Subaru Outback BR9 EDM 2010 EJ253 CVT... Subaru Impreza GG2 JDM 2001 EJ152 AT... Some Hitachi ROM's modifications...
|
|
| Top |
|
 |
|
rimwall
|
Post subject: Re: FastECU development Posted: Tue Jul 02, 2024 7:57 am |
|
 |
| Experienced |
Joined: Fri Aug 21, 2020 10:05 am Posts: 321
|
|
Super, thanks SergArb. I’ve got a lot of catching up to do!
Kline UJ20/30/40/70 - note that this access method is known, just not coded & tested. MiikaS started, but maybe didn’t finish…?
Hi MiikaS, alesv has kindly offered to help with the repo, so can you add both alesv and me as collaborators? Thanks.
Anyone else who wants to help - feel free to jump in on this thread…
|
|
| Top |
|
 |
|
SergArb
|
Post subject: Re: FastECU development Posted: Tue Jul 02, 2024 8:06 am |
|
 |
| Experienced |
 |
Joined: Sun Aug 18, 2019 12:10 pm Posts: 278 Location: Russia, Ulan-Ude (Near Lake Baikal)
|
rimwall wrote: Kline UJ20/30/40/70 - note that this access method is known, just not coded & tested. MiikaS started, but maybe didn’t finish…?
Yes, also need to code encryption method and last block write command.
_________________ Subaru Outback BR9 EDM 2010 EJ253 CVT... Subaru Impreza GG2 JDM 2001 EJ152 AT... Some Hitachi ROM's modifications...
|
|
| Top |
|
 |
|
alesv
|
Post subject: Re: FastECU development Posted: Tue Jul 02, 2024 3:44 pm |
|
 |
| RomRaider Donator |
Joined: Fri Aug 26, 2016 8:21 am Posts: 154
|
Hold your horses, guys. We have a problem. rimwall's and miikas's repos have gone too far apart. MiikaS added many changes at the same time as rimwall did. We need to sync them before we could commit to upstream. What we need to do: - Sync rimwall's development branch with MiikaS's development branch.
- Test this branch. We should ensure that it works as expected.
- Merge synced branch into development branch.
- Then you could resume work and I will push rimwall's changes to upstream.
I created synced repo and I did initial checks. It compiles, starts and finds OpenPort. Now I need to push changes to rimwall's repo. Rimwall, could you please create a new branch in your fork and call it somehow, for example 'development-sync'? I'll create PR to that branch and after you approve it, we could check if everything works as expected. Also please create one more branch and call it like 'development-froze-before-sync'. We will leave it untouched to have point of return. Ideally, every supported ECU should be tested. But I understand this is impossible. Please test as much as you can. Thank you!
_________________ 2Boost Subaru mod
|
|
| Top |
|
 |
|
SergArb
|
Post subject: Re: FastECU development Posted: Tue Jul 02, 2024 4:03 pm |
|
 |
| Experienced |
 |
Joined: Sun Aug 18, 2019 12:10 pm Posts: 278 Location: Russia, Ulan-Ude (Near Lake Baikal)
|
This changes at "serial_port_actions.cpp": Attachment: Serial.jpg Broke new developed CAN modules. I had to remove it.
You do not have the required permissions to view the files attached to this post.
_________________ Subaru Outback BR9 EDM 2010 EJ253 CVT... Subaru Impreza GG2 JDM 2001 EJ152 AT... Some Hitachi ROM's modifications...
|
|
| Top |
|
 |
|
alesv
|
Post subject: Re: FastECU development Posted: Tue Jul 02, 2024 5:48 pm |
|
 |
| RomRaider Donator |
Joined: Fri Aug 26, 2016 8:21 am Posts: 154
|
Quote: Broke new developed CAN modules Got it. I'll try to track down all files added by MiikaS, adopt them to support old method and revert changes in SerialPortActions::read_j2534_data. I think I understand what's going on. Thank you for very detailed info!
_________________ 2Boost Subaru mod
|
|
| Top |
|
 |
Who is online |
Users browsing this forum: No registered users and 19 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|