HiddenRamblings / TagMo

GNU General Public License v3.0
3.01k stars 385 forks source link

N2 Elite Compatibility #252

Closed AbandonedCart closed 3 years ago

AbandonedCart commented 3 years ago

Code is based on documentation, example code from various sources, pull requests, and reverse engineering the official app. No official Android API exists. That said, here is a list of the desired features (and those already included)

This list has been converted to a project. See the projects tab for details.

burndive commented 3 years ago

I have the hardware, and I would be eager to test any features or builds.

Similar to the official N2Elite app, after scanning an N2Elite, TagMo should be able to display the amiibo assigned to each of the slots. There should be an interface for setting the slot count, for selecting which slot is active, as well as for assigning amiibo bins to slots.

Ideally, after scanning an N2Elite, you could reassign as many slots as you wanted, before writing them all in a single scan action. The official N2Elite app only allowed rewriting one slot at a time (per scan), but I think the API lets you do them all at once.

HiddenRambler commented 3 years ago

Is this related to the PowerTag or a completely separate product? It should not be too difficult to reverse engineer the app to integrate this feature into TagMo

AbandonedCart commented 3 years ago

It's similar, but poorly documented. It's also hard to support all the features, but you can already see how it's expected.

One good thing is that the official app relies on an external library, so it's not going to be anything elaborate. Most of the issue is figuring out how the slots work.

HiddenRambler commented 3 years ago

I just tried a quick test trying to program a powertag i had with the N2Elite app which failed. So looks like they are different. Unfortunately the N2Elite seems to be way too expensive and not worth it. There is much more cheaper alternative called MagicNTag (https://lab401.com/products/ntag-compatible-21x), but the last time I checked it had a hardware bug. They promised to fix it soon but still waiting for an update from them.

ca1e commented 3 years ago

it just have some specified ntag commands for slots management. I already contributed these codes but the UX still need be done.

AbandonedCart commented 3 years ago

The only problem is that the code requires specifying memory blocks. It's not as simple as single tags, so the usage part ended up being a decent size job. I'm still trying to figure out the bankcount and active slot and all that stuff.

BlackRabbit22 commented 3 years ago

I don't mind doing any tests either as ive got an n2 elite as well.

Catflap62 commented 3 years ago

I have a spare Amiiqo (N2 elite original name) I am willing to send if it will help get compatibility in tagmo.

AbandonedCart commented 3 years ago

@Catflap62 I can't promise anything, so it's really up to you if you want to go giving it away.

A lot of the delay in progress recently has been medical stuff, but it should only be a temporary delay.

Catflap62 commented 3 years ago

Posted, hopefully about a week.

AbandonedCart commented 3 years ago

Arrived today. Thanks again. Looks like I know what i'll be doing tonight.

Catflap62 commented 3 years ago

Great, thanks for letting me know, hopefully it will help you.

On 16 Oct 2021, at 21:27, Abandoned Cart @.***> wrote:

 Arrived today. Thanks again. Looks like I know what i'll be doing tonight.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.

AbandonedCart commented 3 years ago

... so minus the time spent banging my head on the wall for why it wasn't working before realizing I hadn't enabled the option I added for it, I have the basic capability to swap banks, set bank count, and read / write individual tags working.

Catflap62 commented 3 years ago

Wow, already, well done.

AbandonedCart commented 3 years ago

Was the N2 / Amiiqo able to read every slot with a single scan in the stock app? It seems like an ugly process to scan 200 tags individually. I would assume it did, but the current state of the official app makes it seem like it didn't.

Catflap62 commented 3 years ago

Yes, it did, it scanned how many banks you were using of the 200. I use version 2.0.11 now, because it has the image database built in, so at least I can some Amiibo images. You can find it here https://android-apk.org/com.n2elite.manager/44578303-n2-elite-mastercheaterz/

AbandonedCart commented 3 years ago

Thanks. That's good to know. I would rather not quite know how to do it right now than find out it wasn't possible lol

Sora1995 commented 3 years ago

Have a N2 as well. Awesome, can't wait for full functionality. Perhaps it's just mine, but it seems setting the bank count is the top one, while setting the bottom is the actual bin, although it seems like some issues have arisen from it. Normally, when you lower the bank count, it doesn't delete the bins from the slots. This one seems to have. Not a big deal as I have backups, but worth noting

AbandonedCart commented 3 years ago

Unfortunately, that is how the code appears to work. It's the same code as the N2 Elite app itself, so I'm assuming the only reason that appears to not delete them is a cached copy of what was there saved in the app preferences.

Sora1995 commented 3 years ago

Hmm, perhaps I'm just having bad luck with it. Installed the older N2 app (was using the broken one) and they were all still there and accessible. Disregard

Sora1995 commented 3 years ago

So, if a slot is selected that doesn't have a .bin saved to it, this shows up Screenshot_20211017-093834

Some more testing is definitely necessary. One thing (if possible to add) would be a view of your bank. Being able to easily swap it on the fly would be really great for those that do Amiibo tournaments. Pressing the button on the N2 is supposed to switch to the next Amiibo (though mine could be busted and it is in alpha). An option to input how many slots we want available as well as a slider would be good as well (they can be finicky if you have a weird number), and I think the app remembering the last option you picked for what bank would be good so that it doesn't always restart to 0. Apologies for so many requests, I'm just thinking of what would make this app easier to use with the N2 >.>

ca1e commented 3 years ago
ca1e commented 3 years ago

Was the N2 / Amiiqo able to read every slot with a single scan in the stock app? It seems like an ugly process to scan 200 tags individually. I would assume it did, but the current state of the official app makes it seem like it didn't.

the official n2 app is just read each slot in loop in one scan, and it just read 8 byte for the serial id info (in the page 21&22)

ca1e commented 3 years ago

The hardware arrived last night, so the focus was getting the basic functionality running. Getting it to where this is a real replacement for the stock app requires a whole new UI. That takes a bit longer than a couple buttons and some one line commands.

yes a whole new UI is necessary I think so

Sora1995 commented 3 years ago

The hardware arrived last night, so the focus was getting the basic functionality running. Getting it to where this is a real replacement for the stock app requires a whole new UI. That takes a bit longer than a couple buttons and some one line commands.

Not a problem at all. Just food for thought!

Catflap62 commented 3 years ago

Should not have bank 0 should start with bank 1.

AbandonedCart commented 3 years ago

The bank is index 0, but the app should display it as "1" to avoid confusion. That's now been fixed in experimental.

burndive commented 3 years ago

OOh! Is "Write all banks" going to let me scan the N2 once, edit all of the different slots to be what I want, and then write them all back in a single scan? That would be amazing! Especially with the option to randomize the serial number (that should be an option for writing any NTAG 215 as well).

Ericzion1999 commented 3 years ago

How i write on It?

AbandonedCart commented 3 years ago

@Ericzion1999 As it says above, writing is coming next. For now, click a slot and use the single item menu.

Ericzion1999 commented 3 years ago

@Ericzion1999 As it says above, writing is coming next. For now, click a slot and use the single item menu.

Thanks you , and sorry 😅🙈

AbandonedCart commented 3 years ago

If you are writing to a new slot, it's still the old process of clicking the item in the browser menu, selecting the slot on the scan screen, and writing that way.

Ericzion1999 commented 3 years ago

If you are writing to a new slot, it's still the old process of clicking the item in the browser menu, selecting the slot on the scan screen, and writing that way.

Can i delete a Slot that have an amiibo ? Is that possible yet? Sorry for my questions

AbandonedCart commented 3 years ago

Not yet. It's still very beta.

Ericzion1999 commented 3 years ago

Not yet. It's still very beta.

Thank you for the information

burndive commented 3 years ago

I installed ce96327.

The display aspect is beautiful. I would suggest that you add slot numbers to that display, along with whatever management UI is needed for manipulating each slot as features are added.

Also, the only way I could trigger it to recognize that it was scanning an N2 Elite was to uncheck, and then check "Enable N2 Elite Support" in settings before scanning. Previous to that it didn't recognize the device as a tag at all.

The bank count slider is a bit difficult to get to an exact number. In the future maybe change that to an editable number field with -/+ buttons.

burndive commented 3 years ago

Update: I installed the latest (331fcde) and tested writing to a slot, which worked as expected.

burndive commented 3 years ago

Messing around further, I started with bank count at 80, then I changed it to 100 using the official app. When scanned, it shows the extra slots at the end (with Blank amiibo, and helpfully slot number), but the Settings UI still says 80. When I change the slider to 90 and re-scan, it still shows 100 slots.

It's unclear to me how to set the bank count from TagMo.

AbandonedCart commented 3 years ago

In settings, click write bank count.

burndive commented 3 years ago

Oh, it's a button, LOL. Yeah, that works.
Thanks!

burndive commented 3 years ago

Testing with ef16468: N2 Elite ID shows up on bottom of screen after scanning. When ID panel is expanded:

List of amiibo banks is not numbered No way to save a bin from a slot on N2 Elite

burndive commented 3 years ago

I see your updated comment about clicking on the image rather than just the list item, and that is the way to save a bin from an N2 slot. Excellent!

With that, I think you're 90% there as far as day-to-day usage for the N2 Elite!

AbandonedCart commented 3 years ago

Cleanup up a bit of discussion that was no longer relevant and moved the list of items to https://github.com/HiddenRamblings/TagMo/projects/1. That should give an idea of what is done versus what is WIP and not fully ready to be tested as a completed feature.

@Catflap62 your posts only got deleted as direct replies to mine that got orphaned. You weren't being targeted.

Catflap62 commented 3 years ago

Didn't know where to post this, highlight active bank does highlight the correct bank but also every 13th bank after as well.

AbandonedCart commented 3 years ago

Yeah. That seems to be an issue with the "absolute" index not being so absolute. I am finishing up some other stuff and will be circling back to it.

Catflap62 commented 3 years ago

Also when clicking on blank tag it opens a list of all amiibo in no particular order, it writes to the blank bank fine, but it needs a search function like the opening screen.

Catflap62 commented 3 years ago

And I am amazed at how quick you have got all this working, Many thanks.

AbandonedCart commented 3 years ago

Thanks for sending the hardware. That made it all possible.

AbandonedCart commented 3 years ago

Alright, with search and sort in the write dialog and everything at least mostly functional, it looks like all that is really left in terms of large tasks are the writing of everything and semi-cached content (which writing depends upon).

I should be able to circle back to the lock feature and find somewhere to throw that (probably in settings to somewhat hide it from the main UI and avoid accidents)

AbandonedCart commented 3 years ago

Core features from the stock app have all been broken into issues, many of which are now complete. Additional features not originally part of the stock app have been converted to issues. Finally closing this in favor of the individual items now that they are down to a manageable number.