Skip to content

Commit c68ea99

Browse files
committed
2 parents 6439b25 + d6c106f commit c68ea99

File tree

6 files changed

+63
-48
lines changed

6 files changed

+63
-48
lines changed

Diff for: README.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,9 @@ Europe: [Lab401](https://lab401.com/)
88

99
United States: [Hackerwarehouse](https://hackerwarehouse.com/)
1010

11-
Anywhere else: [Sneaktechnology](https://sneaktechnology.com) / [Aliexpress by RRG](https://proxgrind.aliexpress.com/store/1101312023)
11+
MTools Tec: [MTools Tec](https://shop.mtoolstec.com/)
12+
13+
Anywhere else: [Sneaktechnology](https://sneaktechnology.com) / [Aliexpress by RRG](https://proxgrind.aliexpress.com/store/1101312023) / [TechSecurityTools](https://techsecuritytools.com/product/chameleon-ultra/)
1214

1315
# What is it and how to use ?
1416

@@ -39,6 +41,7 @@ Table for future functionality progress
3941
# Compatible applications
4042

4143
* [ChameleonUltraGUI](https://github.com/GameTec-live/ChameleonUltraGUI)
44+
* [MTools BLE](docs/mtoolsble.md)
4245

4346
# Videos
4447

@@ -47,6 +50,7 @@ Table for future functionality progress
4750
* [Downloading and compiling the official CLI](https://www.youtube.com/watch?v=VGpAeitNXH0)
4851
* [Downloading ChameleonUltraGUI](https://www.youtube.com/watch?v=rHH7iqbX3nY)
4952
* [ChameleonGUI features overview](https://www.youtube.com/watch?v=YqE8wyVSse4)
53+
* [MTools BLE - How to clone a card with ChameleonUltra](https://youtu.be/IvH-xtdW1Wk?si=4exqgAAeJ-kxU3aN)
5054

5155
# Official channels
5256

Diff for: docs/mtoolsble.md

+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# MTools BLE Introduction
2+
MTools BLE supports managing the ChamleonUltra, ChameleonLite and DevKits via BLE connections.
3+
## Downlaod Link
4+
- [MTools BLE on iOS](https://apps.apple.com/app/mtools-ble-rfid-reader/id1531345398)
5+
- [MTools BLE on Google Play](https://play.google.com/store/apps/details?id=com.mtoolstec.mtoolsLite)
6+
7+
## How to connect with Bluetooth in MTools BLE
8+
1. Click **A** or **B** button to power on.
9+
2. Click **Bluetooth List** icon in App to search devices.
10+
3. Click **Connect** button on the right to connect.
11+
12+
#### Notice for Bluetooth Connection
13+
1. Grant the Bluetooth permission of App on iOS.
14+
2. Allow Location permission to scan Bluetooth devices on Android.
15+
16+
## Features for ChameleonUltra
17+
### Slot Manager
18+
1. Fetch all slot status.
19+
2. Enable or disable Slots.
20+
3. Change LF and HF Slot name.
21+
4. Set LF and HF Tag Type.
22+
5. Delete and reset all slots.
23+
24+
### Reader
25+
1. Fast read LF and HF Tag.
26+
2. Simulate Mifare Classic Tag with UID, SAK, ATQA and empty dump.
27+
3. Simulate Mifare Ultralight Tag with UID, SAK, ATQA and empty dump.
28+
4. Simulate EM410X LF tag or manually set the ID then simulate.
29+
30+
### Mifare Classic Dump
31+
1. eRead full dump from current active slot to App.
32+
2. Upload full dump to current active slot and simulate.
33+
3. Read Mifare Mini, 1K, 2K, 4K dump from tag with known keys.
34+
4. Write Gen1A, Gen2, Gen3, Gen4 dump to tag with known keys.
35+
5. Format common and magic Mifare Classic tags.
36+
6. Modify block data and save to new dump file.
37+
38+
### Mifare Ultralight Dump
39+
1. eRead full dump from current active slot to App.
40+
2. Upload full dump to current active slot and simulate.
41+
3. Read Mifare Ultralight dump from tag.
42+
4. Write Mifare Ultralight dump to tag.
43+
44+
### Settings
45+
1. Set the Animation of LEDs.
46+
2. Set press and long press button of A and B.
47+
3. Set the **Mifare Classic Emulation** of current slot.
48+
4. Set the **Mifare Ultralight Emulation** of current slot.
49+
5. DFU Tool for updating firmware.
50+
6. Reset Chameleon Device.

Diff for: docs/mtoolslite.md

-42
This file was deleted.

Diff for: docs/quickstart.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ Quickly get up and running with your Chameleon and no technical skill
99
- [ChameleonUltraGUI on Windows](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/windows-installer.zip) ([or without installer](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/windows.zip))
1010
- [ChameleonUltraGUI on Linux](https://nightly.link/GameTec-live/ChameleonUltraGUI/workflows/build-app/main/linux.zip)
1111
- [ChameleonUltraGUI on macOS](https://apps.apple.com/app/chameleon-ultra-gui/id6462919364)
12-
- [MTools Lite on iOS](https://apps.apple.com/app/mtools-ble-rfid-reader/id1531345398)
13-
- [MTools Lite on Google Play](https://play.google.com/store/apps/details?id=com.mtoolstec.mtoolsLite)
12+
- [MTools BLE on App Store](https://apps.apple.com/app/mtools-ble-rfid-reader/id1531345398)
13+
- [MTools BLE on Google Play](https://play.google.com/store/apps/details?id=com.mtoolstec.mtoolsLite)
1414

1515
2. Connect your Chameleon via USB or BLE
1616

Diff for: firmware/application/src/rfid/nfctag/lf/lf_tag_em.c

+5-2
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ uint64_t em410x_id_to_memory64(uint8_t id[5]) {
201201
*/
202202
bool lf_is_field_exists(void) {
203203
nrf_drv_lpcomp_enable();
204-
bsp_delay_us(20); // Display for a period of time and sampling to avoid misjudgment
204+
bsp_delay_us(30); // Display for a period of time and sampling to avoid misjudgment
205205
nrf_lpcomp_task_trigger(NRF_LPCOMP_TASK_SAMPLE); //Trigger a sampling
206206
return nrf_lpcomp_result_get() == 1; //Determine the sampling results of the LF field status
207207
}
@@ -261,7 +261,10 @@ void timer_ce_handler(nrf_timer_event_t event_type, void *p_context) {
261261
if (m_is_send_first_edge == true) { // The first edge of the next sends next time
262262
if (++m_bit_send_position >= LF_125KHZ_EM410X_BIT_SIZE) {
263263
m_bit_send_position = 0; // The broadcast is successful once, and the BIT position is zero
264-
if (++m_send_id_count >= LF_125KHZ_BROADCAST_MAX) {
264+
if(!lf_is_field_exists()){ // To avoid stopping sending when the reader field is present
265+
m_send_id_count++;
266+
}
267+
if (m_send_id_count >= LF_125KHZ_BROADCAST_MAX) {
265268
m_send_id_count = 0; //The number of broadcasts reaches the upper limit, re -identifies the status of the field and re -statistically count the number of broadcast times
266269
}
267270
}

Diff for: firmware/application/src/rfid/nfctag/lf/lf_tag_em.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* The definition of the packaging tool macro only needs to be modulated 0 and 1
1212
*/
1313
#define LF_125KHZ_EM410X_BIT_SIZE 64
14-
#define LF_125KHZ_BROADCAST_MAX 3 // 32.768ms once, about 31 times in one second
14+
#define LF_125KHZ_BROADCAST_MAX 10 // 32.768ms once, about 31 times in one second
1515
#define LF_125KHZ_EM410X_BIT_CLOCK 256
1616
#define LF_EM410X_TAG_ID_SIZE 5
1717

0 commit comments

Comments
 (0)