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

Clean up hardware detection & add support for a variant of Solo USB C that uses capacitive touch keys instead of the dome button. #342

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

emosenkis
Copy link
Contributor

@emosenkis emosenkis commented Nov 11, 2019

@nickray
Copy link
Member

nickray commented Nov 11, 2019

Out of curiosity, who is we?

@conorpp
Copy link
Member

conorpp commented Nov 11, 2019

Can you use the same nets and sampling capacitor (1nF) for capacitive touch as is done in "Somu"/nano-A?

@emosenkis
Copy link
Contributor Author

@nickray I'm planning to run a "learn SMD" workshop in my office using these. As a Google employee, by default Google claims copyright to my open source contributions and needs to approve non-whitelisted licenses.

@emosenkis
Copy link
Contributor Author

@conorpp
To use the same nets, I think I would need to delete the test pad that's currently connected to PB6 on the Solo. Would you like me to do that?

It's too late for me to change the sampling cap since I already ordered and received all the components (I believe that the Somu isn't included in the BOM text file, which is what I used to place my parts order). It should be trivial to swap it out, though. Either way, the TSC threshold is likely to be different than the Somu's due to very different electrode geometry.

@conorpp
Copy link
Member

conorpp commented Nov 11, 2019

Yes, please delete the test pad connected to PB6 so we can use the same nets. Sorry I forgot about that test pad.

I suspect that the TSC threshold, with the same sampling cap, will be about the same (could be wrong). But we can keep it the way it is currently since it's more flexible anyways.

@@ -290,7 +290,7 @@ void device_init(int argc, char *argv[])

hw_init(LOW_FREQUENCY);

if (! tsc_sensor_exists())
if (nfc_peripheral_exists())
Copy link
Member

@conorpp conorpp Nov 11, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this if statement and nfc_peripheral_exists() can be removed. So it would just be:

_NFC_status = nfc_init();

NFC init already detects if an NFC peripheral is there, and additionally if it's being passively powered. This allows Solo to become an Tap by simply adding the AS3956 chip. I'd like this remain true for USB-C Solo. I hadn't thought about future touch sensing Solos when I first wrote that if statement :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

@emosenkis
Copy link
Contributor Author

Can you use the same nets and sampling capacitor (1nF) for capacitive touch as is done in "Somu"/nano-A?

Updated to use the same nets.

@emosenkis
Copy link
Contributor Author

@conorpp any ideas how I can shave off another 44 bytes?

… C that uses capacitive touch keys instead of the dome button.
…size.

Currently getting these linker errors in Travis:
/usr/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: bootloader.elf section `.data' will not fit in region `flash'
/usr/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld: region `flash' overflowed by 60 bytes
@emosenkis
Copy link
Contributor Author

@conorpp ping

… the upstream firmware so it shouldn't need the threshold modified.
@My1
Copy link
Contributor

My1 commented Mar 28, 2020

As a Google employee, by default Google claims copyright to my open source contributions

even those done in your free time while not working?
if yes this is crazy

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.

4 participants