Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support for Chatter keypad #4022

Merged
merged 7 commits into from
Jul 31, 2024

Conversation

Gnu-Bricoleur
Copy link
Contributor

This PR add support for the Chatter keypad (see #2896)
I believe it supports all the feature we could want from this keypad (arrows, select, cancel, upper case, lower case, numbers, punctuation, ...)
I don't think there's any bug left.
I tried to respect as much as possible the style and conventions of the rest of the code and it should be fairly easy to extend my code to support other serial keypads or other layouts.
Please let me know if you have any suggestion to improve on this PR (changing some variable names, ...)
I have one question, all my tests were done on a Chatter V1 so I can confirm the Chatter V2 build is fully compatible with the Chatter V1 HW, shouldn't we rename the build to just Chatter ?

@CLAassistant
Copy link

CLAassistant commented Jun 2, 2024

CLA assistant check
All committers have signed the CLA.

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


s.migaud seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@GPSFan
Copy link
Contributor

GPSFan commented Jun 3, 2024

Along with the code changes to implement the keyboard there need to be some documentation additions that detail the keyboard layout, operation and "known problems".
As for Chatter 2 vs Chatter, I am open to either, but there seem to be more Chatter 2's out there in the wild, so IMHO we should stay with Chatter 2 and document that it is compatible with V1.
It would also be nice to be able to map some canned messages to hot keys.

@eureekasigns
Copy link

Agree on layout/map.
Does it line up in similar way with original cards that come with them, for example? Was about to comment that there seems to be more 2.0 in the wild as it was available via retail.

I'm fine with text entry like old phones and how the stock firmware works. Canned messages would be neat but regular entry would be great to have.
Excited!!! Thank you!

@Gnu-Bricoleur
Copy link
Contributor Author

Concerning the documentation, I agree it was necessary, here it is : meshtastic/meshtastic#1283
I'm trusting your judgement on the naming, especially since Chatter V1.0 is now explicitly stated in the documentation

I'm not sure how mapping preregistered canned messages to some hotkeys would work but I feel like accessing preregistered messages is already fairly easy, the selection menu appears as soon as the UP or DOWN key is pressed.
The rest of the keypad works as you would expect from a T9 keypad for free text input.

The layout is based on Chatter's keypad sticker so no surprises here, it's the same for V1 and V2. I included a picture in the documentation.

Let me know if you think of anything that should be included in this MR

@Gnu-Bricoleur
Copy link
Contributor Author

(Writing the doc made me notice that for Chatter V2 owners, having the button register two different event each time it's pressed might cause issues, removing the USER_BUTTON mapping should prevent that)

@eureekasigns
Copy link

Decided to figure out how to build this and flashed a 2.0 Chatter.
It does seem to work as expected, however with the up/down arrow keys used for canned messages, there does not seem to be a way to select a recipient for direct message. It's only possible to compose messages to the default channel.

Is there a way perhaps to allow shift key + arrow to select recipient? Or, perhaps after starting text entry, the arrow keys change function to select node?
Very excited this works as it does. The only thing is selecting a node to direct message does not seem possible yet. Thank you.

@Gnu-Bricoleur
Copy link
Contributor Author

Gnu-Bricoleur commented Jun 6, 2024

I the destination field but couldn't manage to select it and change it.
How do you add a node to your "contacts"?
If you managed to do it, I think the best solution would be to only keep one key as the UP key to select the canned messages and one key as the RIGHT to select the destination as you might want to also change the destination of prerecorded canned messages and switching key functions with SHIFT is fiddly and not intuitive.

@eureekasigns , since you managed to build and flash your Chatter, can you just change line 92 of src/input/SerialKeyboard.cpp from
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_RIGHT;
to
e.inputEvent = meshtastic_ModuleConfig_CannedMessageConfig_InputEventChar_RIGHT; e.kbchar = 0xb7;
and tell me if it works for you ?

@eureekasigns
Copy link

Agree the shift is not intuitive for such a function, and I like the idea of one for each separate function.

I will see if I can get some time in the next day or two to try the change in code, thank you!

@eureekasigns
Copy link

Had some time to test, and I think it's on the right track, but still unfortunately not able to select a node to send to.
It still seems to just show "To: Broadcast@LongFast" on the top (or, whatever the default channel 0 is)

The key cycles between the nodes in the list, but when typing to send, it no longer selects a node as far as I can tell.

@Gnu-Bricoleur
Copy link
Contributor Author

@eureekasigns It's the same for me !
Do you know if there's some kind of contact list you need to add the nodes to ?
I couldn't find the option in the app or on the device.
Are you sure sending canned messages to a specific destination is supported by the firmware right now ?
As I said in the issue discussion, it's my first experimentations with Meshtastic so I'm not really aware of what's possible

@tomhanax
Copy link

tomhanax commented Jun 7, 2024

Maybe I did not understand correctly, but you have to switch destSelect mode to be able to select channel / node:

case 0x09: // tab
                if (this->destSelect == CANNED_MESSAGE_DESTINATION_TYPE_CHANNEL) {
                    this->destSelect = CANNED_MESSAGE_DESTINATION_TYPE_NONE;
                } else if (this->destSelect == CANNED_MESSAGE_DESTINATION_TYPE_NODE) {
                    this->destSelect = CANNED_MESSAGE_DESTINATION_TYPE_CHANNEL;
                } else {
                    this->destSelect = CANNED_MESSAGE_DESTINATION_TYPE_NODE;
                }
                break;

I changed my code for T-Beam to up and down key to select mode:

case 0xb5: // up
                this->destSelect = CANNED_MESSAGE_DESTINATION_TYPE_NODE;
                break;
            case 0xb6: // down
                this->destSelect = CANNED_MESSAGE_DESTINATION_TYPE_NONE;
                break;

@eureekasigns
Copy link

eureekasigns commented Jun 7, 2024

@eureekasigns It's the same for me ! Do you know if there's some kind of contact list you need to add the nodes to ? I couldn't find the option in the app or on the device. Are you sure sending canned messages to a specific destination is supported by the firmware right now ? As I said in the issue discussion, it's my first experimentations with Meshtastic so I'm not really aware of what's possible

I am not sure it's fully supported, but I believe the T-Deck can select a node for private/direct message by scrolling the trackball left and right. That device is more capable obviously, but there are also struggles with the current firmware and there is a new UI being worked on for it.

I think it's supported but not well documented or established. I think it's supported to send to a node, though.

Perhaps the code in comment above is helpful in this idea?

If it's possible it would be very nice, but if it's not, it's still nice to be able to reply to default channel on device. It would also be nice to select channel to reply to, but that may be a separate struggle with limited buttons. On the T-Deck, that is also quirky with some keyboard shortcuts I think.
Perhaps at least reply to node for private message is something that can be done on this. The way meshtastic handles the private message it should use a private channel to a node if it's been last seen on a private channel.

@Gnu-Bricoleur
Copy link
Contributor Author

Yes, I've been looking at the code a bit more and it's definitely possible, I'll try to add that and complete the documentation as soon as I have a bit of free time.

@Gnu-Bricoleur
Copy link
Contributor Author

Gnu-Bricoleur commented Jun 10, 2024

It's now possible to select a destination by pressing TAB (SHIFT then BACKSPACE) to focus on the destination field and then cycle through possible contacts with RIGHT.
It is not ideal but it feels like a good compromise to me given the limited number of buttons available on the Chatter.
I'll update the doc MR to reflect those changes.
@eureekasigns if you have the time, can you check that it now works as you expected ?

@eureekasigns
Copy link

It's now possible to select a destination by pressing TAB (SHIFT then BACKSPACE) to focus on the destination field and then cycle through possible contacts with RIGHT. It is not ideal but it feel like a good compromise to me given the limited number of buttons available on the Chatter. I'll update the doc MR to reflect those changes. @eureekasigns if you have the time, can you check that it now works as you expected ?

This works as expected! That's a good compromise on key combination. Easy enough to remember how to do, and I think even on the T-Deck it is less than ideal at the moment.

For this device, it is a very nice feature to have! I would say it all works as it should on the Chatter so far and I am hopeful that this PR can move forward when they take a look at moving it into a release! Thank you for the work on this. It is very cool to see!

@eureekasigns
Copy link

One note on messages to nodes.
If you have a primary channel 0 that is not Longfast, such as a private primary channel, selecting a node to send to will only message the node on the default private channel. Delivery will not succeed unless the other node has the same private channel 0.

So, it seems channel selection is separate from node selection. I think the T-Deck may have a similar limitation on channel selection but do not know for sure as I don't have one

Something to be aware of. I'm not sure there's a great way to do channel selection on these devices, not only because of limited buttons but possibly general firmware limitations currently. Still very useful to be able to direct message a node!

@tomhanax
Copy link

Regarding to TAB key, which, as stated, is really not ideal - did you consider my suggestion about using up and down key? These keys are not used when composing a message an they are logical option - UP key moves from message line up to channel/node select line and DOWN moves down to message line. IMHO this will work as good as on T-Deck. Or am I missing something?

@Gnu-Bricoleur
Copy link
Contributor Author

Gnu-Bricoleur commented Jun 11, 2024

@eureekasigns , have you tried pressing twice on TAB ?
Because of this :

if (this->destSelect == CANNED_MESSAGE_DESTINATION_TYPE_CHANNEL) {
     this->destSelect = CANNED_MESSAGE_DESTINATION_TYPE_NONE;
} else if (this->destSelect == CANNED_MESSAGE_DESTINATION_TYPE_NODE) {
     this->destSelect = CANNED_MESSAGE_DESTINATION_TYPE_CHANNEL;
 } else {
    this->destSelect = CANNED_MESSAGE_DESTINATION_TYPE_NODE;
}

It seems TAB cycle through the destinations types channels, nodes and none (?!?!)
Then RIGHT cycle through the available contacts.

@Gnu-Bricoleur
Copy link
Contributor Author

@tomhanax
(I don't have experience with Meshtastic so I might be missing something)
Default behavior of the UP key doesn't allow moving from message line up to channel/node select line at the moment, only TAB events works.
I like having the UP key to select preregistered canned messages
The DOWN key is now mapped to RIGHT so it allows to cycle through the UI screens when not typing a messages which is cool. When typing a message it lets you cycle recipients.
I agree that using TAB (SHIFT + BACKSPACE) is not ideal but I don't want to edit CannedMessageModule.cpp as modifying it changes UI for everyone (definitely out of the scope of this MR) and adding a special case for Chatter seems unclean. I think it's better to be compliant with the current control scheme even if it's a bit inconvenient.

Best thing would be to change key function based on the current context (typing messages, selecting preregistered canned messages, looking at the telemetry screens, ..) but it is not supported by the firmware at the moment and again, out of scope of this MR

@eureekasigns
Copy link

@Gnu-Bricoleur thank you for the explanation on selection. I had missed that. This does work, though with how "tab" works, it's a little strange. I also need to compile the latest update with shift key change. That'll be helpful.

I think overall this is very good. It could never really be perfect with limited buttons, canned message support, multiple channels, and selecting a node.

What we have now is functional and I'm thankful!

@caveman99 caveman99 force-pushed the chatter-keypad-support branch from 3cb95d4 to 918bf35 Compare June 12, 2024 07:49
@Gnu-Bricoleur
Copy link
Contributor Author

I don't know what's the usual process to get merged but I'm happy with the state of this MR as is (and this one meshtastic/meshtastic#1283).
Let me know if there's anything (bug, architecture, code quality, ...) I can still do on this branch

(I have no idea how to fix the two CI fails however)

@tomhanax
Copy link

tomhanax commented Jun 20, 2024

I switched to branch, and done some testing. Great work @Gnu-Bricoleur, much appreciated, we have 4 chatters so now they are definitely usable :)

However... now the bad news, I found some minor issues. I compare expected behavior with classic Nokia button cellphone, which, I believe, could be good example of how people expect things to work.

  1. I press letter button several (> 5) times. Instead of cycling three letters and number, there is fifth uppercase letter and then cursor moves. So for example pressing "2" quickly 6 times, it prints "a", "b", "c", "2", "A" and the next press moves the cursor. This is unexpected. It should cycle three letters and number forever, until you pause or press another button. So expected sequence is "a", "b", "c", "2", "a", "b".
  2. If I press "2" two times quickly and then press "3" quickly after that, I expect to enter "bd", instead, the "e" is typed. In other words, pressing another button in "letter selection" should skip to next character. The waiting should not be necessary.
  3. There is no indication about entering mode - uppercase, lowercase, number. I know you did not want to mess with core files, so I understand, but now it is not very user friendly.
  4. In uppercase mode backspace switches to channel/node selection. Unexpected... Why this way?
  5. In channel/node selection, only down key works, not up key.
  6. The "Smiley" button used work as USER button - screen switch, wake from sleep. Now it is dead (only works as mode selector). OK I found out that "Check" and "Cross" buttons work, so no problem here.

Hope this info is useful some way, I am not sure if you are willing to make some code corrections. Maybe I could help, but I am not good in C++, nor using github (only messaging like this), so I do not know exactly how to participate effectively. Anyway, If you have any idea how can I help, feel free to write!

@AughtCool
Copy link

So, how to load the software onto the chatter 2?

@dogboyaa1
Copy link

So, how to load the software onto the chatter 2?

to load it you can download the device-install.bat file from the latest meshtastic drop the firmware file in the same directory and then install.

@eureekasigns
Copy link

So, how to load the software onto the chatter 2?

Well, this isn't in the official release yet, so you'd need to build it first.

Once you have it built, you can flash via the instructions here
https://meshtastic.org/docs/software/python/cli/installation/

Note that the chatter also needs to have a pin on the CPU shorted to ground (AFIK) in order for PC to recognize it for flashing mode.

Side note - I'm still struggling somewhat with TAB configuration, but I don't know if there's a better way.
For example, shift key a few times to get special characters such as exclamation. But say you missed it and have to backspace. It ends up trying to select node/channel.

I guess canned messages were important to some but I wonder if there's a way to do shift+up instead of backspace. I know that would knock out canned messages being selected, though, so maybe it's just not the best way.

One other item of note in the original thread that is very cool is larger fonts when typing.
This might be a separate change though, from just keyboard support. I don't know. It's much easier to read, though.
#2896 (comment)

Here's to hoping this code gets pushed into the release soon as it is currently!

@dogboyaa1
Copy link

dogboyaa1 commented Jul 6, 2024

So, how to load the software onto the chatter 2?

Well, this isn't in the official release yet, so you'd need to build it first.

Once you have it built, you can flash via the instructions here https://meshtastic.org/docs/software/python/cli/installation/

Note that the chatter also needs to have a pin on the CPU shorted to ground (AFIK) in order for PC to recognize it for flashing mode.

Side note - I'm still struggling somewhat with TAB configuration, but I don't know if there's a better way. For example, shift key a few times to get special characters such as exclamation. But say you missed it and have to backspace. It ends up trying to select node/channel.

I guess canned messages were important to some but I wonder if there's a way to do shift+up instead of backspace. I know that would knock out canned messages being selected, though, so maybe it's just not the best way.

One other item of note in the original thread that is very cool is larger fonts when typing. This might be a separate change though, from just keyboard support. I don't know. It's much easier to read, though. #2896 (comment)

Here's to hoping this code gets pushed into the release soon as it is currently!

The shorting of the pin that’s new whenever I run the device install.bat it works for me but you have to first go through the testing of the keys with the original software and reboot before it allows you to proceed.

Out of curiosity, what are those pins? Oh I have the chatter 2 just to clarify

@eureekasigns
Copy link

So, how to load the software onto the chatter 2?

Well, this isn't in the official release yet, so you'd need to build it first.
Once you have it built, you can flash via the instructions here https://meshtastic.org/docs/software/python/cli/installation/
Note that the chatter also needs to have a pin on the CPU shorted to ground (AFIK) in order for PC to recognize it for flashing mode.
Side note - I'm still struggling somewhat with TAB configuration, but I don't know if there's a better way. For example, shift key a few times to get special characters such as exclamation. But say you missed it and have to backspace. It ends up trying to select node/channel.
I guess canned messages were important to some but I wonder if there's a way to do shift+up instead of backspace. I know that would knock out canned messages being selected, though, so maybe it's just not the best way.
One other item of note in the original thread that is very cool is larger fonts when typing. This might be a separate change though, from just keyboard support. I don't know. It's much easier to read, though. #2896 (comment)
Here's to hoping this code gets pushed into the release soon as it is currently!

The shorting of the pin that’s new whenever I run the device install.bat it works for me but you have to first go through the testing of the keys with the original software and reboot before it allows you to proceed.

Out of curiosity, what are those pins? Oh I have the chatter 2 just to clarify

That may work from stock to flash without pin shorting, IDK.

I based my wiring off of this post - https://community.circuitmess.com/t/chatter-2-0-restore-firmware-install-micropython-stalls/5378

What I'm not sure about is what this refers to.
#2896 (comment)

When I try to flash via command line, it will usually go into a quick reboot, but not detect the right COM port to actually start flashing. In order to do that, it seems to want to be briefly shorted to ground.
Pin on the lowest right side of CPU briefly shorted to ground seems to do the trick so I wired a momentary button to that pin and a ground point. After pressing "Enter" to start the process, I hold the button for a few seconds and away it goes. If not, sometimes it needs to be timed correctly on boot.

@dogboyaa1
Copy link

So, how to load the software onto the chatter 2?

Well, this isn't in the official release yet, so you'd need to build it first.
Once you have it built, you can flash via the instructions here https://meshtastic.org/docs/software/python/cli/installation/
Note that the chatter also needs to have a pin on the CPU shorted to ground (AFIK) in order for PC to recognize it for flashing mode.
Side note - I'm still struggling somewhat with TAB configuration, but I don't know if there's a better way. For example, shift key a few times to get special characters such as exclamation. But say you missed it and have to backspace. It ends up trying to select node/channel.
I guess canned messages were important to some but I wonder if there's a way to do shift+up instead of backspace. I know that would knock out canned messages being selected, though, so maybe it's just not the best way.
One other item of note in the original thread that is very cool is larger fonts when typing. This might be a separate change though, from just keyboard support. I don't know. It's much easier to read, though. #2896 (comment)
Here's to hoping this code gets pushed into the release soon as it is currently!

The shorting of the pin that’s new whenever I run the device install.bat it works for me but you have to first go through the testing of the keys with the original software and reboot before it allows you to proceed.
Out of curiosity, what are those pins? Oh I have the chatter 2 just to clarify

That may work from stock to flash without pin shorting, IDK.

I based my wiring off of this post - https://community.circuitmess.com/t/chatter-2-0-restore-firmware-install-micropython-stalls/5378

What I'm not sure about is what this refers to. #2896 (comment)

When I try to flash via command line, it will usually go into a quick reboot, but not detect the right COM port to actually start flashing. In order to do that, it seems to want to be briefly shorted to ground. Pin on the lowest right side of CPU briefly shorted to ground seems to do the trick so I wired a momentary button to that pin and a ground point. After pressing "Enter" to start the process, I hold the button for a few seconds and away it goes. If not, sometimes it needs to be timed correctly on boot.

That first link actually makes a lot of sense there’s been times where the unit does lock up and it’s a pain to get it going again. Solder a small little button For it as well. Off to Amazon I go

@dogboyaa1
Copy link

Off subject but pretty cool. I looked up the voltage converter cn2626 and the spec sheet shows it’s able to tolerate 2.7v to 6v, so usb power is fine for it.

I risked it on a new board

IMG_0635

@tomhanax
Copy link

tomhanax commented Jul 6, 2024

My 2 cents:

  • about shortening a PIN - I use platformio on Linux for upload and have to do nothing except inserting the USB-C cable and selecting appropriate serial port. Maybe is Linux, maybe platformio.
  • I power my devices with various sources, and all of them works, thanks to above mentioned specs of cn2626. You can use anything you want up to 6V, for example I changed 3 AAA for 4 AAA on one device, and also some weird of combo 14500 AA + 1.5 Li-ion AA (XTAR) in double AA holder. You can experiment at will, it will hold, do not be afraid. The main problem is to stay "slim" with all that heavy and thick batteries... Maybe use some LiPo packs...

@dogboyaa1
Copy link

My 2 cents:

  • about shortening a PIN - I use platformio on Linux for upload and have to do nothing except inserting the USB-C cable and selecting appropriate serial port. Maybe is Linux, maybe platformio.
  • I power my devices with various sources, and all of them works, thanks to above mentioned specs of cn2626. You can use anything you want up to 6V, for example I changed 3 AAA for 4 AAA on one device, and also some weird of combo 14500 AA + 1.5 Li-ion AA (XTAR) in double AA holder. You can experiment at will, it will hold, do not be afraid. The main problem is to stay "slim" with all that heavy and thick batteries... Maybe use some LiPo packs...

@tomhanax good point I didn’t think to just expand on the batteries was just thinking lipo. The interesting part is the system still assumes you are using 3 x aaa batteries and if you increase the voltage past 4.7ish volts the unit thinks it’s charging (through Meshtastic)

@tomhanax
Copy link

tomhanax commented Jul 6, 2024

if you increase the voltage past 4.7ish volts the unit thinks it’s charging (through Meshtastic)

There are some settings in the header file regarding this, like battery type and count, so if you care, this can be tweaked for specific case (battery type or combination).

@eureekasigns
Copy link

My 2 cents:

* about shortening a PIN - I use platformio on Linux for upload and have to do nothing except inserting the USB-C cable and selecting appropriate serial port. Maybe is Linux, maybe platformio.

* I power my devices with various sources, and all of them works, thanks to above mentioned specs of cn2626. You can use anything you want up to 6V, for example I changed 3 AAA for 4 AAA on one device, and also some weird of combo 14500 AA + 1.5 Li-ion AA (XTAR) in double AA holder. You can experiment at will, it will hold, do not be afraid. The main problem is to stay "slim" with all that heavy and thick batteries... Maybe use some LiPo packs...

Maybe your PC, OS, or PlatformIO work better than mind, but I get the following when trying via PlatformIO

"Serial port COM9
Connecting......................................

A fatal error occurred: Failed to connect to ESP32: Wrong boot mode detected (0x13)! The chip needs to be in download mode."

When trying via command prompt it will reboot the device but it will not select the "other" COM port (9, in my case) for upload without holding down the button I've got wired up to "short to ground."

For batteries I've been using lithium ion with charge controller board. May experiment with the header, but I don't mind it being inaccurate.

Here's to hoping this pull request gets added to the official version soon.

@dogboyaa1
Copy link

This PR add support for the Chatter keypad (see #2896) I believe it supports all the feature we could want from this keypad (arrows, select, cancel, upper case, lower case, numbers, punctuation, ...) I don't think there's any bug left. I tried to respect as much as possible the style and conventions of the rest of the code and it should be fairly easy to extend my code to support other serial keypads or other layouts. Please let me know if you have any suggestion to improve on this PR (changing some variable names, ...) I have one question, all my tests were done on a Chatter V1 so I can confirm the Chatter V2 build is fully compatible with the Chatter V1 HW, shouldn't we rename the build to just Chatter ?

Hi checking in as i updated to 2.4.0 (the latest release I believe) and noticed that the keyboard fix wasnt implemented into the official build yet. Is that something that is coming soon. I hate to see the chatter2 get too out of sync with the updates.

@Gnu-Bricoleur
Copy link
Contributor Author

Hi,
I'm not sure why the MR is not being accepted.
Most probably, the maintainers didn't got the time to check it yet !
The documentation regarding this feature has already been merged so I think it's only a matter of time till it's available in an official release.
In any way, if there is corrections/improvements to do on this MR to make it acceptable, I'll be happy to do it !

@thebentern
Copy link
Contributor

Looks good to me. Sorry it took so long. This one slipped through the cracks on me 😓

@dogboyaa1
Copy link

Looks good to me. Sorry it took so long. This one slipped through the cracks on me 😓

Awesome thank y’all all. I look forward to seeing it. So much Potential these little suckers don’t want to see them put away.

@dogboyaa1
Copy link

Hi, I'm not sure why the MR is not being accepted. Most probably, the maintainers didn't got the time to check it yet ! The documentation regarding this feature has already been merged so I think it's only a matter of time till it's available in an official release. In any way, if there is corrections/improvements to do on this MR to make it acceptable, I'll be happy to do it !

Awesome thank you as well for all the work you rock.

@thebentern thebentern merged commit 106a50b into meshtastic:master Jul 31, 2024
97 of 98 checks passed
@dogboyaa1
Copy link

dogboyaa1 commented Jul 31, 2024

Looks good to me. Sorry it took so long. This one slipped through the cracks on me 😓

im sorry if this is a stupid question as this way new to me. Now that it’s merged does that mean it would one day show up in the flasher.meshtastic site or do we still need to download the source code and compile ourselves. Not a big deal for the second option but would make life easier for others to not have to compile each revision.

@minutello
Copy link

Personally I made 3 small changes to the sources because of these minor issues:

  • bigger font size for messages (already mentioned in another thread, I just applied those patches)
  • white color instead of "meshtastic green" (looks nicer to me)
  • the text "237 left" while typing a message gets overwritten if one chooses a destination other than "Broadcast", so I made it appear a line below

@eureekasigns
Copy link

Agree with font size. It does cut off seeing more than some number of characters on screen but that's ok with me.
Default size is a little small for me too but I think it fits all the text and is kind of a separate change. Making a different UI would be really fun since it's a color screen but since button support is so limited it would be more difficult than other devices.

Very glad this keyboard support is part of the official build going forward!

@dogboyaa1 it means the compiled .bin file for the chatter2 will be updated with keyboard support in upcoming releases. Still have to flash via command line but don't have to build your own file.
Maybe ask in the main forum about adding to web flasher, though I don't know how well it would work. Would have to build a local copy to test that and see if it works.
Still might need to short pin1 to ground during the process, at least on Windows but it's a mystery to me why some don't need this with PlatformIO.

@eureekasigns
Copy link

Personally I made 3 small changes to the sources because of these minor issues:

  • bigger font size for messages (already mentioned in another thread, I just applied those patches)
  • white color instead of "meshtastic green" (looks nicer to me)
  • the text "237 left" while typing a message gets overwritten if one chooses a destination other than "Broadcast", so I made it appear a line below

Were you able to apply the font changes on the very latest? 2.4.2 it seems to "double stack" the font if I try changes. From the original files it seems like a lot has changed, especially in screen.cpp. if I try the files linked in the other thread it won't build.

@minutello
Copy link

Personally I made 3 small changes to the sources because of these minor issues:

  • bigger font size for messages (already mentioned in another thread, I just applied those patches)
  • white color instead of "meshtastic green" (looks nicer to me)
  • the text "237 left" while typing a message gets overwritten if one chooses a destination other than "Broadcast", so I made it appear a line below

Were you able to apply the font changes on the very latest? 2.4.2 it seems to "double stack" the font if I try changes. From the original files it seems like a lot has changed, especially in screen.cpp. if I try the files linked in the other thread it won't build.

No, I only tried with old 2.3.13. Anyway thanks for the heads up.

@dogboyaa1
Copy link

Personally I made 3 small changes to the sources because of these minor issues:

  • bigger font size for messages (already mentioned in another thread, I just applied those patches)
  • white color instead of "meshtastic green" (looks nicer to me)
  • the text "237 left" while typing a message gets overwritten if one chooses a destination other than "Broadcast", so I made it appear a line below

Were you able to apply the font changes on the very latest? 2.4.2 it seems to "double stack" the font if I try changes. From the original files it seems like a lot has changed, especially in screen.cpp. if I try the files linked in the other thread it won't build.

I will try it when I get settled in in a few hours. So you think they implemented all the other changes as well like the fonts?

@eureekasigns
Copy link

@dogboyaa1 if you build the very latest version, 2.4.2, it includes keyboard support. The font changes are totally separate, and were mentioned on the other thread. It really should be a separate change from the keyboard effort.

The changes to the 2 files, screen and canned messages, are different enough that the linked files in the other thread don't work as is. I don't know enough about the code to say why it doesn't work correctly.

Thank you for confirming, @minutello

@dogboyaa1
Copy link

@dogboyaa1 if you build the very latest version, 2.4.2, it includes keyboard support. The font changes are totally separate, and were mentioned on the other thread. It really should be a separate change from the keyboard effort.

The changes to the 2 files, screen and canned messages, are different enough that the linked files in the other thread don't work as is. I don't know enough about the code to say why it doesn't work correctly.

Thank you for confirming, @minutello

Oh I get it I’m sorry I thought it meant there was a bug and I haven’t had time to pull the new version yet. Thank you.

@eureekasigns
Copy link

FYI it looks like 2.4.2 officially has keyboard support!

For medium font size, the other thread has some further info on getting it working with the latest version. Can confirm it works.

#2896 (comment)

@minutello
Copy link

FYI it looks like 2.4.2 officially has keyboard support!

For medium font size, the other thread has some further info on getting it working with the latest version. Can confirm it works.

#2896 (comment)

Thank you! Here the link to the medium font size patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants