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

Dual USB/iWRAP output #7

Closed
BenBergman opened this issue Jul 13, 2012 · 3 comments
Closed

Dual USB/iWRAP output #7

BenBergman opened this issue Jul 13, 2012 · 3 comments

Comments

@BenBergman
Copy link

I'm just digging into the code, so maybe this is already available, but I want to make a controller that can function as an iWRAP device, but will switch over to LUFA (or PJRC) USB when connected. I have an ATmega32u4 and a WT-12 breakout. The TMK keyboard firmware seems to have many great features (not least of which is a developer community). If this isn't something already possible, I will look into adding it.

Additionally, I was curious if it is easy to add an external device as a mouse (I have a digital I2C joystick I want to use). Perhaps this is better suited for a separate issue.

@tmk
Copy link
Owner

tmk commented Jul 13, 2012

I'm sure you can use iWRAP and LUFA stack and switch over them automatically depending on whether wired or wireless.
My code can switch over between USB(V-USB) and iWRAP by pressing special key combination.

My iWRAP stack supports only iWRAP4 firmware(beta), not iWRAP5 yet.

To try my code you need beta version of firmware(at least 4.1.0 build 435) which is not available for public. You should make contact with Bluegiga support to get it. Or you can write code to support iWRAP 5 of course.

The other day, I updated firmware of my Bluegiga module from 4 to 5 and tried to support iWRAP5 but unfortunately it failed :)

Mouse support won't be a big job if you can interface with I2C. You can just use host_mouse_send() to send a mouse report to PC.

@BenBergman
Copy link
Author

Cool. Can you point me to the applicable lines of code where you switch between USB and iWRAP?

I'll probably try to get iWRAP 4 working first, but I might look into getting 5 supported later. I have heard there are many nice improvements.

@tmk
Copy link
Owner

tmk commented Jul 14, 2012

You can switch to VUSB stack by pressing RShift +LShift +U and switch back to iWRAP by pressing RShift + LShift + W.

To change protocol stacks you can use change_driver().
umm, it is terribly messy code...

protocol/iwrap/main.c, around line 288:
// switch to VUSB
change_driver(vusb_driver());
// switch to iWRAP
change_driver(iwrap_driver());

Nice, to support iWRAP5 would be better result.

@tmk tmk closed this as completed Oct 14, 2012
tmk added a commit that referenced this issue Apr 21, 2016
d5c5ac6 Merge branch 'develop'
5957682 Merge branch 'hotfix-mediakey'
a478c62 Merge branch 'hotfix-vusb'
cccebfe Merge branch 'njbair-docfix'
0aaab57 Clean up wording in keymap example
dc8bbc3 Clarify layer precedence
9e0b4c1 clarify layer documentation
915eb48 core: Fix media/consumer keys
88f90f3 Fix for VUSB configuration
3e290cd Fix including board.mk in chibios.mk
32c69e0 Merge branch 'newapi' into develop
c9a56f9 Merge remote-tracking branch 'flabbergast/chibios' into develop
01e33ea Fix chibios and mbed common.mk for hook.c
bea79d9 hook: Change func name of usb events
3e97536 hook: Change file and func names(*_hook -> hook_*)
c286d8c Merge pull request #10 from fredizzimo/chibios-contrib2
062d74e Update ChibiOS instructions
d47150f Add support for new version of ChibiOS and Contrib
62b5401 Chibios: disable LTO (link-time optimisation).
c64e9aa hooks: Fix for LUFA
54e68b0 hooks: Remove led_restore_hook
325c09d Chibios: make the default bootloader_jump redefinable (weak).
078c722 Chibios: fix STM32_BOOTLOADER_ADDRESS name.
e73cfe5 hooks: Fix for keyboard LED update
e6120c5 Implement basic hooks.
7c370e9 Chibios: Update the main chibios README.
7f0198d Chibios: implement sleep LED for STM32.
afef9b4 Fix hard-coded path of CHIBIOS
95c5b19 Merge pull request #7 from fredizzimo/sysvsize
27128a8 Sysv format for ChibiOS arm-none-eabi-size
d4b8e68 core: Fix chibios user compile options
b85d462 Merge branch 'chibios' of https://github.com/flabbergast/tmk_keyboard into flabbergast_chibios
de41aa1 core: Fix ps2_mouse.c debug print
d79d925 Removed duplicate debug message code and surrounded it with IFDEF as needed
8f28589 Chibios: Revert common.mk change (fix AVR linking problem).
ec9eff2 Chibios: cleanup usb_main code.
28c4665 Chibios: Fix a HardFault bug (wait after start).

git-subtree-dir: tmk_core
git-subtree-split: d5c5ac63e60dfc6da6661a21bd968b4d577a27d5
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

No branches or pull requests

2 participants