another_brother icon indicating copy to clipboard operation
another_brother copied to clipboard

Adding TD2350D printer

Open alaindeseine opened this issue 10 months ago • 4 comments

Hi @CodeMinion

Just receive the new TD2350 printer from Brother!

Are you ok to add it to another_brother with some custom paper?

I can test it during one month.

Regards Alain

alaindeseine avatar Jan 26 '25 15:01 alaindeseine

Hi @CodeMinion

Brother tell me that the new TD2350 printer is supported since the 4.9.1 version of the SDK. Last version of the SDK is 4.12.

I have see that the current version of SDK Brother supported by another_brother is 4.6.

Tell me if i can help.

Regards,

Alain Deseine

alaindeseine avatar Feb 04 '25 09:02 alaindeseine

Hi @alaindeseine ,

Thanks for reaching out about this and apologies for such a delayed reply.

Depending on how Brother added the support to the new printer it may either be a quick add or take quite a bit of effort. Even though we currently use 4.9 we are still using the legacy implementation inside that library because their new way to configure printing in v4+ is a bit different than in v3.5+.

We would first need to see how they ended up supporting it, so if you have the ARR handy for 4.12 and can share it we can go ahead and place it in the artifact server to make it available so we or others can explore this in the community.

If it proves to be the case that it can still be supported using the path we currently have then the support for this new printer will be quite simple to add without much effort along with the new papers.

Once more apologies for the delayed response and thanks again for reaching out,

CodeMinion avatar Feb 04 '25 18:02 CodeMinion

Hi @CodeMinion @alaindeseine I've been working on adding support for the TD2350D but everything I've tried so far ends up in a ERROR_WRONG_CUSTOM_INFO

I was waiting to get a working version before sending a PR but I think we do need to update the SDK.

Here is the latest version of the library (v4.12) : https://drive.google.com/file/d/1sjZo_yEPwc15VfEdt4bojD4n-7e4Rl-j/view?usp=share_link

Once available I can keep working on the implementation ;)

PrimaelQuemerais avatar Feb 05 '25 18:02 PrimaelQuemerais

Hi @PrimaelQuemerais ,

Thanks for the AAR. The AAR is now available and can be retrieved from Android using: com.brother.sdk:printer:4.12.0@aar in the Gradle build file.

Thanks again for your support with this,

CodeMinion avatar Feb 10 '25 23:02 CodeMinion

Hello @CodeMinion I hope you're doing good. I finally had some time to look into the new printer implementation again. From what I see we should be able support it without changing the entire implementation to v4. However, they introduced a new system where the model name is no longer sufficient as the TD2350D exists in multiple versions with difference DPIs (TD2350D_203, TD2350D_300, TD_2350DF_203, ...). The documentation includes a new method for this matter : setPrinterModelFromStatus Moreover this message now appears under the modelName property :

For TD-23XX series, modelName does not indentify the model. For example, if modelName is "TD-2350D".
The model is either TD-2350D_203 or TD-2350D_300. Use setPrinterModelFromStatus to set the PrinterModel.

I'm unsure how to concile this system with your current implementation. Would you have time to have a look at it with me?

PrimaelQuemerais avatar Mar 16 '25 09:03 PrimaelQuemerais

@alaindeseine @balanpaul If you can't wait for the PR to be merged feel free to use my fork.

  another_brother:
    git:
      url: https://github.com/PrimaelQuemerais/another_brother.git

PrimaelQuemerais avatar Mar 17 '25 11:03 PrimaelQuemerais

Thanks @PrimaelQuemerais ,

I’m still waiting for the printer to arrive. Once it does, I’ll test it and update you.

balanpaul avatar Mar 17 '25 11:03 balanpaul

@PrimaelQuemerais @balanpaul @CodeMinion Thanks for fork link, i will try it tomorrow or Wedneesday, i hope.

I can test because i have one on my desk.

I tell you when done.

Regards.

alaindeseine avatar Mar 17 '25 17:03 alaindeseine

Hi @alaindeseine, @PrimaelQuemerais , @balanpaul ,

Apologies for the delayed response on this. I was hoping to get a slice of time to look at this this month but it doesn't seem like I'll have the bandwidth.

If anyone can give the code on the PR (https://github.com/CodeMinion/another_brother/pull/110) a test it would help out a lot. I can then move ahead and merge it if all checks out.

Thanks in advance,

CodeMinion avatar Mar 24 '25 15:03 CodeMinion

Hello @CodeMinion, @PrimaelQuemerais, @alaindeseine ,

Apologies for the late reply—we only received the printer yesterday.

We successfully completed the first print, but we received the TD-2350DSA-203, so we need to modify the implementation for this model. @PrimaelQuemerais, would it be possible to include support for additional models in the same PR?

Additionally, how can we update the iOS version as well?

Thanks!

balanpaul avatar Mar 28 '25 16:03 balanpaul

@balanpaul I've updated my PR can you try this?

PrimaelQuemerais avatar Mar 28 '25 17:03 PrimaelQuemerais

Hello @PrimaelQuemerais

I've been running additional test cases, and at times, the connection doesn't seem to work. However, I haven't been able to identify any specific pattern causing this issue.

Additionally, I have a question regarding model naming. Shouldn't it be formatted like this? TD_2350DSA_203 = Model._internal2("TD_2350DSA", 101, RJ_4030); ?

balanpaul avatar Apr 02 '25 09:04 balanpaul

Hi @balanpaul I only have the TD-2350D so I wasn't able to try the other models.

Regarding the TD_2350DSA question you might need to change it. From my tests the dpi should not be specified here otherwise the printer won't be detected over Bluetooth.

PrimaelQuemerais avatar Apr 02 '25 11:04 PrimaelQuemerais

Hello @PrimaelQuemerais @CodeMinion Bluetooth works. On the network, it doesn't find the printer, but we saved the MAC address from Bluetooth in the cache so it also works to receive requests over the network. Would it be possible to do the same on iOS? Many thanks!

balanpaul avatar Apr 14 '25 15:04 balanpaul

Hi @CodeMinion @PrimaelQuemerais @balanpaul

Sorry for this period of silence, I've been overbooked on other projects.

I am resuming testing to integrate the new TD2350D printers.

For now, I'm testing with the repo of @PrimaelQuemerais, thanks for that.

@CodeMinion Do you have a plan for integrating the pull request of @PrimaelQuemerais ?

@PrimaelQuemerais Would you be ok with adding 1 or 2 paper sizes to your repo?

Thank you all.

alaindeseine avatar May 20 '25 09:05 alaindeseine

Hello @alaindeseine I've added all the paper sizes available in the SDK, if you send me more files I can add them to the PR

PrimaelQuemerais avatar May 20 '25 09:05 PrimaelQuemerais

@PrimaelQuemerais I only see 51X26, 57 and 58 bin papers, right ? or i missed something?

alaindeseine avatar May 20 '25 16:05 alaindeseine

Hi @PrimaelQuemerais

You can find additionnal papers here: https://ncng.cabinfo.eu/index.php/s/zySpyZCaAt7cwHZ

Thanks in advance.

Regards Alain Deseine

alaindeseine avatar May 21 '25 14:05 alaindeseine

hello @CodeMinion, @PrimaelQuemerais , @alaindeseine there is any timeline when this printers can be released in the package? Or do you suggest to continue to work on a fork version?

thanks

balanpaul avatar Jun 05 '25 08:06 balanpaul

Hi @balanpaul

For now, I've forked the repository, integrating the latest changes from @CodeMinion and @PrimaelQuemerais I've added three new label formats that I needed.

You can use this repo https://github.com/alaindeseine/another_brother.git or, failing that, the one from @PrimaelQuemerais

I plan to attempt an iOS update within the next 15 days.

I'll notify you here if it's successful.

alaindeseine avatar Jun 05 '25 08:06 alaindeseine

thank you @alaindeseine, please let me know when the iOS is ready

balanpaul avatar Jun 06 '25 10:06 balanpaul

Hello @CodeMinion @alaindeseine @PrimaelQuemerais , I'm trying to implement the update model on iOS, but I'm not sure how to differentiate between models with 203 DPI and 300 DPI. Also, is there any other field in the dictionary that I should include in the if clause to help with this differentiation? I am talking about this dict:

Image

balanpaul avatar Jun 23 '25 12:06 balanpaul