Coordinator device for a bicycle, non-transitory computer-readable storage medium and system for a bicycle
Patent Information
- Application Number
- TW114132504
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-05-17
- Filing Date
- 2022-05-19
- Publication Date
- 2026-08-11
- Estimated Expiration
- 2042-05-18
AI Technical Summary
Existing bicycle control systems limit the ability to pair multiple identical components, such as shifters, and require manual identification during setup, making it difficult for users to configure and maintain without confusion.
A coordinator device that allows multiple assignable controllers to be paired dynamically, using a wireless network to identify and assign unique device types and input elements, enabling easy configuration and maintenance through a mobile application.
Enables easy identification and configuration of identical bicycle components, allowing users to interact with a mobile app to distinguish and control multiple components without confusion, enhancing user experience and efficiency.
Smart Images

Figure TWG2TB001905893_001 
Figure TWG2TB001905893_002 
Figure TWG2TB001905893_003
Abstract
Description
Technical Field
[0001] Invention Field This application claims priority to U.S. Provisional Patent Application No. 63 / 191,996, filed May 22, 2021, which is hereby incorporated for full reference. Prior Technology
[0002] Background of the Invention A bicycle includes various components that allow a user to control the operation of the bicycle. For example, the bicycle may include a drivetrain in which one or more gears can selectively engage with the drivetrain to adjust pedaling rhythm and resistance. Therefore, the bicycle may include a controller that receives input from the user to cause the drivetrain to engage different gears. Summary of the Invention
[0003] Invention Summary In one example, a coordinator device for a bicycle includes a communication interface configured to wirelessly communicate with a controller device of the bicycle via a first wireless network. The controller device is configured to generate a signal in response to user input from an input element of the controller device. The communication interface is further configured to wirelessly communicate with a mobile device via a second wireless network. The mobile device is configured to generate a graphical user interface (GUI) including a representation of the controller device containing the input element. The coordinator device further includes a processor communicating with the communication interface. The processor is configured to receive, via the communication interface and the first wireless network, a signal generated by the controller device in response to the user input from the input element. The signal includes data identifying a device type and data identifying the input element. The coordinator device further includes memory communicating with the processor and the communication interface. The memory is configured to store the data identifying the device type and the data identifying the input element. The processor is further configured to generate a notification based on the received signal, send the generated notification to the mobile device via the communication interface and the second wireless network, and, in response to the sending of the notification, receive a request from the mobile device via the communication interface and the second wireless network. The request concerns data related to the received signal. In response to the request, the processor is further configured to send stored data identifying the device type and stored data identifying the input element to the mobile device via the communication interface and the second wireless network, so that an association between the controller device and the representation type of the controller device in the mobile device's GUI can be identified.
[0004] In one example, the coordinator device is used for one of the rear derailleurs of the bicycle.
[0005] In one example, the first wireless network is different from the second wireless network.
[0006] In one example, the controller device is a first controller device. The communication interface is further configured to wirelessly communicate with a second controller device of the bicycle via the first wireless network.
[0007] In one example, the memory system is configured to store data identifying the device type and data identifying the input element, including the memory system being configured to cache data identifying the device type and data identifying the input element.
[0008] In one example, the cache data of the input element is identified as a one-bit mask having one or more bits associated with the controller device.
[0009] In one example, the user input is a first user input, the input element is a first input element, the signal is a first signal, and the device type is a first device type. The second controller device is configured to generate a second signal in response to a second user input from one of its input elements. The input element of the second controller device is a second input element. The processor is further configured, after receiving the first signal from the first controller device, to receive, via the communication interface and the first wireless network, a second signal generated in response to the second user input from the second controller device. The second signal includes data identifying a second device type and data identifying the second input element. The second device type is associated with the second controller device. The memory system is further configured to cache the data identifying the second device type and the data identifying the second input element.
[0010] In one example, the first device type and the second device type are the same device type.
[0011] In one example, the memory system is configured to replace the cache data identifying the first device type and the data identifying the first input element with cache data identifying the second device type and cache data identifying the second input element.
[0012] In one example, the notification is a first notification, and the request is a first request. The processor is further configured to generate a second notification based on the received second signal, send the generated second notification to the mobile device via the communication interface and the second wireless network, and, in response to the sending of the second notification, receive a second request from the mobile device via the communication interface and the second wireless network. The second request is for information relating to the received second signal. In response to the second request, the processor is further configured to send cache data identifying the second device type and cache data identifying the second input element to the mobile device via the communication interface and the second wireless network, such that an association between the second controller device and a representation type of the second controller device can be identified in the GUI of the mobile device.
[0013] In one example, in a non-transitory computer-readable storage medium storing instructions, these instructions, executed by one or more processors, identify which of a plurality of controller devices of a bicycle corresponds to a representation of one of the controller devices in a graphical user interface (GUI). The instructions include displaying a GUI with at least one representation of a first controller device and one representation of a second controller device on a display. The representation of the first controller device includes representations of one or more input elements. The instructions further include receiving a notification from a coordinator device of the bicycle via a wireless network. The notification indicates that the coordinator device has received a signal from one of the plurality of controller devices. The signal is generated in response to user input from an input element of the controller device. In response to the receipt of the notification, the instructions further include requesting identification of the controller device from the coordinator device via the wireless network. In response to the request for identification of the controller device, the instructions further include receiving information about the controller device. The information regarding the controller device includes information identifying a device type of the controller device and information identifying an input element of the controller device for generating the signal. The instructions further include identifying the controller device as associated with a representation of the first controller device in the GUI based on received information about the controller device, and highlighting at least a portion of the representation of the first controller device in the GUI.
[0014] In one example, identifying the controller device as associated with the representation type of the first controller device includes identifying the input element as associated with a representation type of the input element in the display GUI based on data identifying the device type of the controller device and data identifying the input element of the controller device. Emphasizing the representation type of the first controller device in the GUI includes emphasizing the representation type of the input element in the GUI.
[0015] In one example, it is emphasized that the representation of the input element in the GUI includes changing the color of one representation of the input element in the GUI, or changing the brightness of one representation of the input element in the GUI.
[0016] In one example, highlighting the representation of an input element in the GUI includes highlighting the representation of the input element for a predetermined time period.
[0017] In one example, the representation of the one or more input elements is the representation of one or more first input elements, the notification is a first notification, and the signal is a first signal. The representation of the second controller device includes the representation of one or more second input elements. The instructions further include receiving a second notification from the bicycle's coordinator device via the wireless network after the first notification is received from the coordinator device. The second notification indicates that the coordinator device receives a second signal from another controller device among the plurality of controller devices. The second signal is generated in response to user input from an input element of the other controller device. In response to the receipt of the second notification, the instructions further include requesting identification of the other controller device from the coordinator device via the wireless network. In response to the request for identification of the other controller device, the instructions further include receiving information about the other controller device. The information about the other controller device includes information identifying the device type of one of the other controller devices and information identifying an input element of the other controller device for generating the second signal. These instructions further include identifying, based on received data about another controller device, that the other controller device is associated with the representation of the second controller device in the GUI, and highlighting at least a portion of the representation of the second controller device in the GUI.
[0018] In one example, the controller device and the other controller device are of the same type. The controller device of the same type is an assignable controller device.
[0019] In one example, the input element of the controller device is identified so that the data used to generate the signal is a one-bit mask having one or more bits associated with the controller device.
[0020] In one example, the one or more processors and the display are one or more processors and a display of an mobile device.
[0021] In one example, a system for a bicycle includes multiple controller devices. The type of controller device also applies to two or more controller devices among the multiple controller devices. The system includes a coordinator device that communicates with the multiple controller devices via a first wireless network. The coordinator device includes a communication interface configured to wirelessly communicate with one of the multiple controller devices via the first wireless network. The controller device is configured to generate a signal in response to user input from an input element of the controller device. The communication interface is further configured to wirelessly communicate with a mobile device via a second wireless network. The mobile device is configured to generate a graphical user interface (GUI) including a representation of the controller device containing the input element. The coordinator device further includes a processor that communicates with the communication interface. The processor is configured to receive, via the communication interface and the first wireless network, a signal generated from the controller device in response to the user input from the input element. The signal includes data identifying a device type and data identifying the input element. The coordinator device further includes a memory that communicates with the processor and the communication interface. The memory is configured to store data identifying the device type and data identifying the input element. The processor is further configured to generate a notification based on the received signal, send the generated notification to the mobile device via the communication interface and the second wireless network, and, in response to the sending of the notification, receive a request from the mobile device via the communication interface and the second wireless network. The request pertains to data related to the received signal. In response to the request, the processor is further configured to send the stored data identifying the device type and the stored data identifying the input element to the mobile device via the communication interface and the second wireless network, such that an association between the controller device and the representation type of the controller device can be identified in the GUI of the mobile device.
[0022] In one example, the coordinator device is a rear transmission. Simple Explanation of the Diagram
[0023] Figure 1A shows the right side view of a demonstration road vehicle that can realize the viewpoints disclosed herein.
[0024] Figure 1B shows a schematic diagram of the handlebar assembly of the demonstration road bike shown in Figure 1A, and other components coupled to the handlebar assembly.
[0025] Figure 1C shows a side view of the front gearbox of the demonstration road car shown in Figure 1A.
[0026] Figure 1D shows a side view of a rear gearbox of the demonstration road car shown in Figure 1A.
[0027] Figure 1E shows a side view of a first controller device of the demonstration road bike, coupled to a lower right handlebar, as shown in Figure 1A.
[0028] Figure 2A shows the right side of a demonstration mountain bike that can realize the viewpoints disclosed herein.
[0029] Figure 2B shows a schematic diagram of the handlebar assembly of the demonstration mountain bike shown in Figure 2A, and other components coupled to the handlebar assembly.
[0030] Figure 2C shows a side view of the demonstration mountain bike shown in Figure 2A, with a seatpost assembly mounted on a seat.
[0031] Figure 3 illustrates a demonstration system for controlling different combinations of operating devices on a bicycle, according to the viewpoint of this disclosure.
[0032] Figure 4A illustrates a demonstration scenario in which an operating device responds to signals from a controller device according to a first task set, based on the viewpoint of this disclosure.
[0033] Figure 4B illustrates a demonstration scenario in which an operating device responds to signals from a controller device according to a second set of tasks, based on the viewpoint of this disclosure.
[0034] Figure 4C illustrates an exemplary scenario in which an operating device responds to signals from a controller device according to a third task set, based on the viewpoint of this disclosure.
[0035] Figure 5 illustrates a flowchart of an embodiment of a method for establishing a wireless network between a controller device and an operating device for a bicycle.
[0036] Figure 6 illustrates a flowchart of one embodiment of a method for controlling the operation of a bicycle.
[0037] Figure 7 illustrates a flowchart of one embodiment of a method for modifying a bicycle's preset or current task set.
[0038] Figure 8 illustrates a flowchart of an embodiment of a method for establishing a wireless network between an assignable controller device and an operation designation device for a bicycle.
[0039] Figures 9A-9B illustrate a flowchart of one of the wireless network demonstrations established using the method described in Figure 8.
[0040] Figure 10 illustrates a flowchart of one of the preset reactions of the method in Figure 8, specifically the first example.
[0041] Figure 11 illustrates a flowchart of one of the preset reactions of the method in Figure 8, as specified in the second example.
[0042] Figure 12 illustrates a flowchart of one embodiment of a method for indicating which controller button has been pressed in a mobile device application.
[0043] Figure 13 illustrates a visual representation of the user experience used in a mobile device application to indicate which controller button has been pressed.
[0044] Other aspects and advantages of the embodiments described herein will become more apparent from the following detailed description, wherein similar or identical structures have the same reference numerals. Various different embodiments of the invention will be described herein with reference to these drawings. It should be understood that the drawings and descriptions presented herein are provided for illustrative purposes only and are not intended to limit the invention to what is defined by the appended claims and any and all their equivalents. Implementation
[0045] Detailed Description of Preferred Embodiments According to the viewpoint of this disclosure, embodiments provide systems, apparatus, and methods for controlling components on a bicycle. These embodiments utilize multiple controller devices that receive input from a user to control operating settings on the bicycle. Operating settings generally include at least one movable component configured to modify an operational state of the bicycle. The controller devices and operating settings can be paired to a wireless network. When a particular controller device receives input from the user, it sends a corresponding signal to the operating settings paired with the network. Embodiments use a task set to determine which operating setting, if any, responds to a signal from the particular controller device. This task set can be modified by the user according to their preferences. In other words, these embodiments provide a reconfigurable control system for the bicycle's components.
[0046] In the prior art, only one type of each coordinator device can be paired with one of the bicycle's wireless networks (e.g., a system) at a given time. Each component has a unique device type, and if an attempt is made to pair with multiple components of the same type, only one of those components will be operational.
[0047] However, the development of assignable controllers allows for the inclusion of multiple components on a bicycle, based on a rider's preferences. For example, two identical shifters can be individually used for a left shifter and a right shifter, rather than a single left shifter and a single right shifter. Thus, several identical components can be paired into the system.
[0048] This embodiment provides that each assignable controller can be different from the other assignable controllers. Each assignable controller can be different from the other assignable controllers based on, for example, the order in which these assignable controllers are paired and enter the system. Each assignable controller has a different preset response and can be individually paired.
[0049] According to this embodiment, each of the assignable controllers may have a dynamic device type assigned to the individual assignable controller based on pairing. Each of the assignable controllers is planned with an assignable device type during or after manufacturing. When the individual assignable controller is paired with a pairing coordinator device, the pairing coordinator device checks the planned device type to determine whether the planned device type is an assignable device type. If the planned device type is an assignable device type, the pairing coordinator device plans the individual assignable controller with a new device type. The new device type is assigned based on the assignable device type (e.g., a single-button controller or a two-button controller) and the order in which the assignable controllers are paired into the system (e.g., in ascending numerical order).
[0050] Once all such assignable controllers have been paired into the system and a pairing session has closed, the pairing coordinator device uses a register to specify a preset response. This preset response maps to the assignable device type. For example, a first assignable controller first paired into the system may have a preset response of outward movement of the rear derailleur of a bicycle, and this first assignable controller may immediately be paired into a second assignable controller in the system, having a preset response of inward movement of the rear derailleur.
[0051] All controllers of the bicycle that can be paired into the system, including all assignable controllers, can be reconfigured using, for example, a mobile application. When the user opens the mobile application, the user can see the representations of multiple controllers communicating in the bicycle's system, including the representations of the assignable controllers paired into the system and the representations of non-assignable (e.g., standard) controllers.
[0052] Each representation of a standard controller in the system has a unique appearance (e.g., name and / or original image) that allows the user to easily identify it, for example, as a component assembled in the mobile application (e.g., rear gearbox, front gearbox). However, the representation of an assignable controller in the mobile application may not clearly indicate which assignable controller corresponds to which representation in the mobile application.
[0053] For example, if a user builds a bicycle with two standard controllers and one of two assignable controllers, the user will see four device representations when they open the mobile application. In cases where the two standard controllers can be identified by their corresponding unique representations, the user may not be able to identify which assignable controller corresponds to which representation or image in the mobile application.
[0054] This embodiment provides a method for determining the correspondence between an assignable controller on a bicycle and a representation in a mobile device application. The user can interact with an input device (e.g., a button) on the individual assignable controller, and the corresponding representation in the mobile device application is highlighted in the mobile device application in response to the user's interaction with the individual assignable controller.
[0055] When a user interacts with the input device of the individual assignable controller (e.g., presses a button on the individual assignable controller), the individual assignable controller sends a device type and a button mask to all receivers in the system. For example, the individual assignable controller sends a button message, including the device type and button mask of the individual assignable controller, to a bridging device of the bicycle in response to the button press. The bridging device can cache the device type and button mask of the individual assignable controller. The bridging device can send a notification to the mobile device application. The notification recognizes that a new controller has sent a button message. In response to the notification, the mobile device application can query the bridging device for information about the new controller (e.g., the individual assignable controller). In response to the query, the bridging device can send the cached device type and button mask corresponding to the individual assignable controller to the mobile device application. The mobile application emphasizes (e.g., illuminates) the display style shown in the mobile application based on the device type and button mask received from the bridging device.
[0056] The disclosed coordinator device control can distinguish identical components on a bicycle (e.g., shifters) and allows for preset response tasks. These preset response tasks enable the user to interact with a mobile application not required during bicycle system setup. Furthermore, for example, by interacting with buttons on these components, the user can easily identify identical components in the mobile application, and can then configure controls, check battery status, and perform maintenance without having to guess which controller corresponds to which representation in the mobile application.
[0057] For those skilled in the art, the control of these and other objects, features, and advantages by the coordinator device will become more apparent upon reading this disclosure. Throughout all drawings, the same reference numerals are used; in these various disclosure examples, the same reference numerals represent the same or substantially similar parts. Furthermore, specific examples of specific combinations of the disclosed viewpoints, features, and components using this disclosure will be disclosed and described herein. However, it is possible that each disclosed viewpoint, feature, and / or component of this disclosure may be used independently or in different combinations with other viewpoints, features, and components of this disclosure in other examples not disclosed or described herein.
[0058] Figure 1A illustrates a right-side view of a demonstration road bike 100. The bicycle 100 includes a frame 102, a front wheel 104, a rear wheel 106, and a drivetrain 108. The front wheel 104 and the rear wheel 106 are rotatably coupled to the frame 102. The bicycle includes a front brake 110 for braking the front wheel 104 and a rear brake 112 for braking the rear wheel 106. To allow a user to operate the bicycle 100, the bicycle 100 includes a handlebar assembly 114 attached to the frame 102.
[0059] Figure 1B illustrates a schematic diagram depicting the handlebar assembly 114 and other components coupled to the handlebar assembly 114. As shown in Figures 1A and / or 1B, the handlebar assembly 114 includes a lower right handlebar 114a and a lower left handlebar 114b to individually accommodate the user's right and left hands. Furthermore, the bicycle 100 includes a first or right controller device 120 coupled to the lower right handlebar 114a. The first controller device 120 includes a first or right brake lever 116 to allow the user to operate the rear brake 112. Conversely, the bicycle 100 includes a second or left controller device 122 coupled to the lower left handlebar 114b. The second controller device 122 includes a second or left brake lever 118 to allow the user to operate the front brake 110. The first controller device 120 and the second controller device 122 may be the same controller device (e.g., interchangeable, assignable controller devices).
[0060] As shown in Figures 1A, 1C, and 1D, the drivetrain 108 includes a drivetrain 108a, a front crank 108b, a front sprocket 108c, a front shifter such as an electromagnetic front derailleur 108d, a rear sprocket 108e, and a rear shifter such as an electromagnetic rear derailleur 108f. The front sprocket 108c is coupled to the front crank 108b. The diameter and number of teeth on the front sprocket 108c may differ from each other. The rear sprocket 108e is coaxially mounted to the rear wheel 106. The diameter and number of teeth on the rear sprocket 108e may gradually decrease from left to right (e.g., relative to the frame 102, such that the smallest of the sprockets 108 is the outermost relative to the frame 102). Alternatively, the diameter and number of teeth on the rear sprocket 108e may gradually decrease from right to left (e.g., relative to the frame 102). The drive chain 108a engages with a selected link 108c and a selected rear sprocket 108e.
[0061] To operate the bicycle 100, the user can rotate the front crank 108b relative to the frame 102. Rotation of the front crank 108b causes the selected chain link 108c to rotate and the drive chain 108a to move through the drive chain 108. This movement of the drive chain 108 causes the selected sprocket 108e to rotate accordingly, and subsequently the rear wheel 106 to rotate. The rotation of the rear wheel 106 relative to the ground propels the bicycle 100 in a forward direction. The forward and / or forward direction of the bicycle 100 is indicated by the direction of arrow "A". Furthermore, other terms related to direction may be used herein. For example, the terms "inward" and "outward," and "left" and "right" may be used. The terms "right" and "left," and "inward" and "outward" describe a position of a part or item relative to a vertical plane that substantially bisects the bicycle, or a direction toward or away from that vertical plane that substantially bisects the bicycle 100. Furthermore, terms such as "front" and "rear" refer to those conventionally installed on the bicycle, and the bicycle mechanism that directs the bicycle toward the forward direction.
[0062] The selected link 108c and the selected sprocket 108e can be combined to determine a gear ratio for driving the bicycle 100. Operation of the front derailleur 108d allows the user to change the selected front link 108c engaged by the drive chain 108a. For example, the front derailleur 108d can be actuated to shift the drive chain 108a from one sprocket 108e to another sprocket to the left or right. The front derailleur 108d is shown as a wirelessly electrically actuated front derailleur mounted on the frame 102. The front derailleur 108d may include a base member 108g mounted on the frame 102 of the bicycle 100, and a chain guide assembly 108h or seat movably connected to the base member 108g by a front linkage assembly 108i in, for example, a parallelogram-shaped configuration. A front power supply 108j (e.g., a removable battery) may be mounted on the front derailleur 108d. The front power supply 108j can supply power to a front motor unit 108k. The front motor unit 108k is assembled to supply torque to the components of the front derailleur 108d to move the chain guide assembly 108h relative to the front base member 108g, so that the front derailleur 108d can shift the drive chain 108a between the front sprockets 108c.
[0063] Simultaneously, operation of the rear derailleur 108f allows the user to change the selected sprocket 108e engaged by the drive chain 108a. For example, the rear derailleur 108f can be actuated to shift the drive chain 108a from one sprocket 108e to another sprocket to the left or right. The rear derailleur 108f is shown as a wirelessly electrically actuated rear derailleur mounted on the frame 102. The rear derailleur may include a base member 108l (e.g., a b joint) mounted on the frame 102 of the bicycle 100. A linkage 108m may include two links 108n pivotally connected to the base member 108l. A movable member 108o (e.g., a p joint) may be connected to the linkage 108m. A chain guide assembly 108q or seat may be assembled to engage and maintain the tension of the drive chain 108a and may be pivotally connected to a component of the movable member 108o.
[0064] A motor unit 108r and a rear power supply 108s (e.g., a removable battery) are mounted on the rear transmission 108f. The rear power supply 108s supplies power to the motor unit 108r. In this embodiment, the motor unit 108r is housed in the removable member 108o. Alternatively, the motor unit 108r may be housed in one of the links 108n or the base member 108l. The motor unit 108r may include a motor and a gear transmission. The motor unit 108r may be coupled to the link assembly 108m to laterally move the seat 108q and thus displace the drive chain 108a in the rear sprockets 108e.
[0065] Referring to Figures 1A, 1B, and 1E, to allow the user to operate the front transmission 108d or the rear transmission 108f, the first controller device 120 and the second controller device 122 include a first electrical switch 120c and a second electrical switch 122c, respectively actuated by a first input element and a second input element (e.g., a first gear lever 120a and a second gear lever 122a). The first gear lever 120a is configured to receive a right input from the user's right hand and actuate the first electrical switch 120c. The second gear lever 122a is configured to receive a left input from the user's left hand and actuate the second electrical switch 122c. The first gear lever 120a can be positioned behind the first brake lever 116, and the second gear lever 122a can be positioned behind the second brake lever 118.
[0066] To provide the right input to the first gear lever 120a, the user can manually apply pressure to the right side of the first gear lever 120a. In response, the first gear lever 120a can pivot from an initial rest position to a shift actuation position via a first gear lever shaft L1. The first gear lever 120a can be deflected by a spring or similar mechanism so that it returns to the initial rest position when the user stops applying manual pressure. Similarly, to provide the left input to the second gear lever 122a, the user can manually apply pressure to the left side of the second gear lever 122a. In response, the second gear lever 122a can pivot from an initial rest position to a shift actuation position via a second gear lever shaft L2 (not shown). The second gear lever 122a can be deflected by a spring or similar mechanism so that it returns to the left-hand start position when the user stops applying manual pressure.
[0067] The first controller device 120 and the second controller device 122 each include a first controller processor 120e and a second controller processor 122e. The first controller processor 120e and the second controller processor 122e electronically process the manual inputs individually received by the first gear lever 120a and the second gear lever 122a. For example, the right input triggers a first controller communication interface 120d to wirelessly transmit a first gear shift signal 120b, and the left input triggers a second controller communication interface 122d to wirelessly transmit a second gear shift signal 122b. Correspondingly, the front gearbox 108d and the rear gearbox 108f include a communication interface and processor configured to receive and electronically process the first gear shift signal 120b and / or the second gear shift signal 122b to determine a specified response.
[0068] In a first scenario, the user provides the right input via the first gear lever 120a, but not the left input via the second gear lever 122a. In response, the first controller device 120 sends the first gear shift signal 120b, while the second controller device 122 does not send a signal. When the rear transmission 108f receives the first gear shift signal 120b but not the second gear shift signal 122b, the rear transmission 108f shifts the drive chain 108a to engage the next smaller sprocket 108e to the right, or performs a downshift. Simultaneously, when the front transmission 108d receives the first gear shift signal 120b but not the second gear shift signal 122b, the front transmission 108d remains idle.
[0069] In a second scenario, the user provides the left input via the second gear lever 122a, but not via the right gear lever 120a. In response, the second controller device 122 sends the second gear signal 122b, while the first controller device 120 does not send a signal. When the rear transmission 108f receives the second gear signal 122b but has no first gear signal 120b, the rear transmission 108f shifts the drive chain 108a to engage the next larger sprocket 108e to the left, or performs an upshift. Simultaneously, when the front transmission 108d receives the second gear signal 122b but has no second gear signal 120b, the front transmission 108d remains idle.
[0070] In a third scenario, the user simultaneously provides the right input via the right shift lever 120a and the left input via the second shift lever 122a. In response, the first controller device 120 sends the first shift signal 120b, and the second controller device 122 sends the second shift signal 122b. When the rear transmission 108f receives both the first shift signal 120b and the second shift signal 122b simultaneously or during a certain period, the rear transmission 108f remains idle. Simultaneously, when the front transmission 108d receives both the first shift signal 120b and the second shift signal 122b simultaneously or during a certain period, the front transmission 108d shifts the drivetrain 108a left or right to engage a different link 108c. In some cases, the drivetrain 108 includes only two links 108c, so the simultaneous right and left inputs will cause the drive chain 108a to alternate between these two links 108c. Other configurations are also available.
[0071] In some embodiments, the user can manually apply pressure to the first shift lever 120a and / or the second shift lever 122a for different amounts of time. For example, without applying pressure to the second shift lever 122a, the user can apply continuous pressure to hold the first shift lever 120a in the left final position for a period of time (e.g., approximately one second). In response, the first controller device 120 sends the first shift signal 120 for a corresponding amount of time (e.g., until the user releases pressure on the first shift lever 120a). When the rear transmission 108f receives the first shift signal 120b, the rear transmission 108f determines that the first shift signal 120b has exceeded a critical time. In response, instead of simply shifting the drive chain 108a to engage the next sprocket 108e to the right, the rear derailleur 108f repeatedly shifts the drive chain 108a to the right on multiple sprockets 108e until the user releases pressure on the first shift lever 120a and the first shift signal 120b stops, or until the drive chain 108a reaches the rightmost sprocket 108e. Alternatively, to repeatedly shift the drive chain 108a to the left on multiple sprockets 108e, the user can apply continuous pressure until the left shift lever 122a exceeds the critical time amount for a certain period of time.
[0072] As shown in Figures 1A-1B, the first controller device 120 and the second controller device 122 use the first gear lever 120a and the second gear lever 122a as individual input elements to generate corresponding wireless gear shift signals 120b and 122b to actuate the front derailleur 108d and the rear derailleur 108f. However, alternative embodiments may include controller devices with different configurations to control a front derailleur and / or a rear derailleur. For example, a bicycle may include pneumatic handlebars with buttons instead of lower handlebars with gear levers, wherein these buttons serve as input elements that can be pressed by the user to generate wireless signals that can be received and processed by the front and rear derailleurs. Furthermore, while some controller devices may be coupled to the handlebar assembly, others may be coupled to other areas of a bicycle, such as the entire frame of the bicycle. Additionally, other types of controller devices may be provided. For example, a unified shifter device may be used, wherein the user can press one or more buttons on a mounting box to send signals controlling the front derailleur and / or the rear derailleur. Alternatively, a pedal sensor can be used to receive input from the user via the user's pedaling action, and the front derailleur and / or the rear derailleur can respond to a signal from the pedal sensor (e.g., selecting a gear to maintain a desired rhythm or pedal resistance).
[0073] Although the demonstration bicycle 100 shown in Figures 1A-1B is a road bike, the ideas presented herein can be realized with any type of bicycle. For example, Figure 2A shows a right-side view of a demonstration mountain bike 200. This bicycle 200 includes a frame 202, a front wheel 204, a rear wheel 206, a drivetrain 208, a front disc brake 210, and a rear disc brake 212. The drivetrain 208 includes a chainring 208a, a front crank 208b, a front chainring 208c, a rear sprocket 208e, and a rear derailleur 208f, which operates in a manner similar to the corresponding components of the drivetrain 108 described above.
[0074] Compared to bicycle 100, bicycle 200 includes other operational control devices, such as a seatpost assembly 226 (e.g., a height-adjustable seatpost assembly), a front suspension system 230, and a rear suspension system 232. In Figures 2A and 2C, the seatpost assembly 226 is shown as a wirelessly, electrically actuated seatpost assembly 226 that allows dynamic adjustment of the position of a seat 228. For example, the adjustable seatpost assembly 226 may include an operable valve (not shown) that allows the seat 228 to lower to a lower height during riding to change the user's position relative to the frame 202 for better handling. The seatpost assembly 226 includes a first or lower tube 226a and a second or higher tube 226b (e.g., two tubes). These two tubes 226a, 226b are movable relative to each other to establish a height of the seat 228 relative to the frame 202. A seat head 226c is fixed to the top end of the second tube 226b. A seat post motor unit 226d is mounted on the seat head 226c, and a power supply 226e (e.g., a removable battery) is attached to the motor unit 226d. The motor unit 226d may include a motor and a gear transmission. The power supply 226e supplies power to the seat post motor unit 226d. The seat post motor unit 226d is assembled to supply torque to its components to open and close the operable valve.
[0075] The front suspension system 230 is shown as a wirelessly, electrically actuated front suspension system that allows dynamic adjustment of the suspension characteristics of the front wheel 204. Similarly, the rear suspension system 232 is shown as a wirelessly, electrically actuated rear suspension system that allows dynamic adjustment of the suspension characteristics of the rear wheel 206. The front and rear suspension systems 230 and 232 may further include power supplies, such as batteries that individually supply power to a front suspension motor unit and a rear suspension motor unit (e.g., a motor unit). These motor units can be configured to individually supply torque to components of the front and rear suspension systems 230 and 232 to open and close one or more valves to change various suspension characteristics.
[0076] Referring to Figures 2A and 2B, the bicycle 200 includes a first or right controller device 220 and a second or left controller device 222. In one embodiment, the first or right controller device 220 and the second or left controller device 222 are the same controller device (e.g., an assignable controller). The first or right controller device 220 and the second or left controller device 222 include a first electrical switch 220c and a second electrical switch 222c individually actuated by a first input element and a second input element (e.g., a first gear lever 220a and a second gear lever 222a). The handlebar assembly 214 includes a flat handlebar or a vertical handlebar instead of a lower handlebar. The first controller device 220 is coupled to a right side of the flat or vertical handlebar, and the second controller device 222 is coupled to a left side of the flat or vertical handlebar. In addition, the bicycle 200 may include a seat post controller 234, a front suspension controller 236, and a rear suspension controller 238 coupled to the handlebar assembly 214.
[0077] As described above, the user can operate the first gear lever 220a and / or the second gear lever 222a to individually generate a first gear signal 220b and / or a second gear signal 222b. Similar to the bicycle 100, the first gear signal 220b and / or the second gear signal 222b can be used to control the rear derailleur 208f. To allow the user to adjust the height of the seatpost assembly 226, the seatpost controller device 234 includes a seatpost electrical switch 234c actuated by a seatpost input element 234a, such as a lever or button.
[0078] To allow the user to adjust the characteristics of the front suspension system 230 and the rear suspension system 232, the front suspension controller device 236 and the rear suspension controller device 238 include a front suspension electrical switch 236c and a rear suspension electrical switch 238c, each actuated individually by a suspension input element 236a and a suspension input element 238a (e.g., a lever or a button). Alternatively, the adjustable seat post assembly 226, the adjustable front suspension system 230, and the adjustable rear suspension system 232 can also be configured to receive the first shift signal 220b and / or the second shift signal 222b, so that these devices can also be controlled by the operation of the first shift lever 220a and / or the second shift lever 222a.
[0079] The seatpost controller device 234, the front suspension controller device 236, and the rear suspension controller device 238 each include processors 234e, 236e, and 238e. These processors 234e, 236e, and 238e electronically process manual inputs received by the seatpost input element 234a, the front suspension input element 236a, and the rear suspension input element 238a. The manual input received by the seatpost input element 234a triggers a seatpost controller communication interface 234d to wirelessly transmit a seatpost signal 234b. The manual input received by the front suspension input element 236a triggers a front suspension controller communication interface 236d to wirelessly transmit a front suspension signal 236b, and the manual input received by the rear suspension input element 238a triggers a rear suspension controller communication interface 238d to wirelessly transmit a rear suspension signal 238b. Therefore, the seatpost assembly 226 includes a communication interface and a processor configured to receive and electrically process the seatpost signal 234b to determine a specified response. The front suspension system 230 includes a communication interface and a processor configured to receive and electronically process the front suspension signal to determine a specified response, and the rear suspension system 232 includes a communication interface and a processor configured to receive and electronically process the rear suspension signal to determine a specified response.
[0080] Figures 1A-1E and 2A-2C illustrate how various controller devices can be used to wirelessly transmit control signals to different combinations of operating devices. Signals from these controller devices can be wirelessly transmitted using any technology, protocol, or standard. For example, the Institute of Electrical and Electronics Engineers (“IEEE”) 802.11 standard, IEEE 802.15.1 or Bluetooth® standard, and / or ANT™ or ANT+™ standard can be used. However, in some embodiments, control signals can be wirelessly transmitted over a proprietary protocol, such as a protocol operating on top of the physical layer of the IEEE 802.15.4 wireless protocol. The use of a proprietary protocol can enhance security by restricting access to the wireless network to devices that transmit under that proprietary protocol in a specific configuration. This thus reduces the possibility of unwanted interference from other wireless devices. As described in more detail below, the bicycle 100 includes a network coordinator device 124 (e.g., a pairing coordinator device) that can be configured to establish and manage wireless communications between these various devices. Similarly, the bicycle 200 includes a network coordinator device 224. Alternatively, one of the controller devices or operating devices on the bicycle may be the network coordinator (e.g., a rear derailleur).
[0081] Figure 3 illustrates an exemplary system 300 for controlling various combinations of operating mechanisms (e.g., movable components) on a bicycle. The system 300 includes multiple controller devices 302. Each controller device 302 includes at least one additional input element 302a configured to receive input from a user. For example, as described above, these controller devices 302 may include a first controller device coupled to the right side of one of the handlebar assemblies and a second controller device coupled to the left side of one of the handlebar assemblies, wherein individual shift levers serve as input elements 302a. Generally, these input elements 302a may include any various types of shifters, buttons, clickers, switches, other dual-state thixotropic devices, sensors (e.g., pry sensors, etc.). A single controller device 302 may also include more than one input element 302a (e.g., two shift levers, multiple buttons, etc.). In one embodiment, the first controller device and the second controller device are of the same type of controller device (e.g., the same or the same shifter).
[0082] The system 300 also includes a plurality of operation designators 304 (e.g., movable components). Each of these operation designators 304 is configured to design at least one specific operation on the bicycle. For example, the operation designator 304 may include one of the aforementioned front derailleurs, a rear derailleur, a height-adjustable seatpost assembly, a front suspension system, and / or a rear suspension system. Each operation designator 304 may include at least one or a movable component 311 configured to modify one operating state of the bicycle. In some instances, an operation designator 304 may operate on more than one component of the bicycle in a single operation. In other instances, a single operation may include more than one action on one or more components of the bicycle. In still other instances, the operation may include a physical action and a wireless action, wherein the wireless action transmits a wireless signal to cause other actions of other assistive devices.
[0083] The system 300 also includes a network coordinator device 306 (e.g., a pairing coordinator device). The network coordinator device 306 includes a first communication interface 306a configured to wirelessly communicate with the plurality of controller devices 302 and the plurality of operation designators 304. Using the first communication interface 306a, the network coordinator device 306 can establish a wireless network 308 enabling communication between the network coordinator device 306, the controller devices 302, and the operation designators 304. Therefore, each of the plurality of controller devices 302 includes a communication interface 302c, and each of the plurality of operation designators 304 includes a communication interface 304a for communicating with other devices on the wireless network 308 (e.g., receiving and transmitting data / signals). Although the network coordinator device 306 may appear as a separate device as shown in FIG3, the features of one of the network coordinator devices 306 in the alternative embodiments may be provided by one or more of the other controller devices 302 and / or operation planning devices 304.
[0084] Figure 5 illustrates a method 500 for establishing a wireless network between a network coordinator device, a controller device, and an operation planning device, and for establishing a preset task set for determining how the operation planning device plans operations in response to signals received from the controller devices. The actions of the method presented below are intended to be illustrated by example. In some embodiments, the method may be accomplished with one or more additional actions not described, and / or without one or more actions discussed. Furthermore, the order of actions illustrated in Figure 5 and described below is not intended to be limiting.
[0085] In some embodiments, the method may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit configured to process information, an analog circuit configured to process information, a state machine, and / or other mechanisms for electronically processing information). The one or more processing devices include one or more means for performing some or all of the actions of the method in response to instructions electronically stored in an electronic storage medium. The one or more processing devices are configured to perform the actions of one or more of the methods via hardware, firmware, and / or software.
[0086] A network coordinator device (e.g., network coordinator device 306) is paired to initiate a new pairing session to pair controller devices (e.g., controller devices 302) and operation designators (e.g., operation designators 304) to a wireless network (e.g., wireless network 308). In action 502, the user selects the network coordinator device from the controller devices and operation designators by actuating a pairing input element (e.g., pairing input element 306c), such as a button, switch, etc., to initiate a new pairing session. In pairing mode, in action 504, the network coordinator device scans for pairing signals from other devices. In this new pairing mode, the user can selectively pair a controller device or an operating device to the wireless network by operating a corresponding pairing input element (e.g., a pairing input element 302d or 304b) placed on the given device in pairing mode, such as a button, switch, etc. In pairing mode, in action 506, the selected device sends a pairing signal to the network coordinator device in response to the operation of the pairing input element of the selected device. In action 508, the pairing signal allows the network coordinator device to identify the selected device and acknowledge its joining the wireless network. If a proprietary network protocol is used for the wireless network, only devices paired to communicate according to that proprietary network protocol can be identified and paired by the network coordinator device.
[0087] In some embodiments, in action 506, the pairing signal from a given device provides an additional device type identification, and the network coordinator device determines whether the given device is an assignable device based on this individual device type identification. If the network coordinator device determines that the given device is an assignable device based on the individual device type identification, the network coordinator device assigns the next available assignable device type to the given device, and in action 510, the pairing signal allows the network coordinator device to acknowledge the given device joining the wireless network. The task of assigning device types will be further discussed below with reference to Figures 8-11.
[0088] If the network coordinator determines that the given device is not an assignable device (e.g., determines that the given device is a standard device), then the network coordinator only pairs devices with different individual device type identifications in operation 510. For example, the pairing signal can identify a given device as a rear transmission. By limiting such pairings to devices with different individual device type identifications, the system (e.g., system 300) will not include more than one rear transmission. In itself, an unknown device cannot mimic another device type that has been selected for pairing.
[0089] In action 512, the user can manually end the pairing session (e.g., by operating the pairing input element 306c on the network coordinator device 306). Alternatively, the network coordinator device can automatically end the pairing session after a set time period has elapsed.
[0090] In action 514, a register (e.g., register 310) is defined by the controller device and the operation designator device that have been paired with the wireless network at the end of the pairing session. To enhance the integrity of the system, no other device can be paired with the wireless network 38 after the pairing session has ended. By fixing the register, the system only includes the devices selected by the user (e.g., devices 302 and / or 304). This prevents unauthorized devices from joining the wireless network and from maliciously or accidentally interfering with the operation of the user-selected device.
[0091] In action 516, at the end of the pairing session, the network coordinator device assembles to send a list of controller devices and operation planning devices identified and paired with the wireless network to the operation planning devices. In action 518, the operation planning devices assemble to determine, based on the list received from the network coordinator device, how to plan operation in response to signals received from the controller devices (e.g., signal 302b).
[0092] If necessary, a new pairing session can be initiated by the network coordinator device to reset the roster and pair a different set of devices (e.g., devices 302 and / or 304). When the new pairing session ends, the different set of devices defines a new roster. The new pairing session will unpair and reset all devices that were already in the wireless network in a previous pairing session. Generally, paired devices cannot be removed from the roster, and new devices cannot be added to the roster until a new pairing session is initiated. A device paired to the wireless network can pair to another wireless network (e.g., another bicycle system), but the device cannot rejoin the previous wireless network (e.g., wireless network 308) because the previous wireless network is reset when pairing to another wireless network.
[0093] Referring to Figure 3, the controller devices 302 are configured to transmit a signal 302b indicating the input received by the input element 302a of the controller devices 302 to the operation setting device 304. For example, a first controller device 302 (e.g., the first controller device 120) and a second controller device 302 (e.g., the second controller device 122) can wirelessly transmit a first gear shift signal (e.g., the first gear shift signal 120b) and a second gear shift signal (e.g., the second gear shift signal 120a) as described above to indicate the input received by a first input element (e.g., the first gear shift lever 120a) and a second input element (e.g., the second gear shift lever 122a).
[0094] These operation planning devices 304 are configured to process a preset task set 312 based on the register 310 to determine how the operation planning devices 304 should respond to signals 302b to plan the operations. The preset task set 312 can be sent to each operation planning device 304 by the network coordinator device 306 and / or stored locally on each operation planning device 304.
[0095] For example, after a pairing meeting is completed, the register 310 may include a first controller device having a first gear lever (e.g., a right gear lever), a second controller device having a second gear lever (e.g., a left gear lever), a front transmission, and a rear transmission. The preset task set 312 that controls the operation of these operation setting devices 304 is determined based on the specific device set in the register 310. For example, the preset task set 312 described above can provide the sample roster 310 with: (i) the rear derailleur responding to a signal from the second controller (without a signal from the first controller) to move the chain inward relative to the bicycle frame to a sprocket; (ii) the rear derailleur responding to a signal from the first controller (without a signal from the second controller) to move the chain outward relative to the bicycle frame to a sprocket; and (iii) the front derailleur responding to simultaneous signals from the first and second controllers to move the chain to an alternating link. If the roster 310 includes a different set of devices, the preset task set 312 may be different. For example, if the roster 310 includes a height-adjustable seatpost assembly but does not include a front derailleur, the seatpost assembly is used to lower the seat in response to simultaneous signals from the right and left controllers.
[0096] A paired device can be considered to remain in the wireless network 308, and the register 310 remains unchanged even if the paired device becomes inactive or unavailable (e.g., loses power or is re-paired to another wireless network).
[0097] As explained below, each operation specified by the corresponding operation designator 304 occurs only in response to a signal 302b from a single assignment controller device 302 or a combination of single assignment controller devices 302. For example, an operation might involve using the rear derailleur to move the chain inward to a sprocket, and such operations occur only in response to signals from the second controller device. This reduces the likelihood that the operation designator 304 will respond unnecessarily to a signal from an unknown device.
[0098] When more than one controller device is combined to produce a simultaneous signal (e.g., a simultaneous signal from the first controller device and the second controller device), the combination of controller devices can be considered as a single virtual controller device. Therefore, an operation may involve shifting the chain to a derailleur before an alternating chain link, and such operation occurs only in response to a signal from the single virtual controller device defined by the combination of the first and second controller devices. Alternatively, a single virtual device can be provided by simultaneous signals from two or more inputs on a single device (e.g., simultaneously pressing a button on a single unified shifter device).
[0099] Figure 6 illustrates a method 600 for controlling operation designation devices (e.g., operation designation devices 304). Once the roster is established and the preset task set is determined based on the roster, in action 602, each operation designation device can receive signals from the controller devices via the wireless network. In action 604, each operation designation device can identify one or more signals from an assignment controller device or a combination of assignment controller devices. In action 606, each operation designation device designs the operation in response to one or more signals from the assignment controller device or a combination of assignment controller devices.
[0100] While the preset task set 312 provides an effective method for determining how the operation control device 304 should respond to signals 302b from the controller devices 302, the user may prefer to use a modified task set 312'. For example, the modified task set 312' described above may provide the following sample list 310: (i) the rear derailleur responding to a signal from the first controller device that does not exceed a critical time (no signal from the second controller device) to shift the chain to the inward sprocket; (ii) the rear derailleur responding to a signal from the first controller device that meets or exceeds the critical time (no signal from the second controller device) to shift the chain to the outward sprocket; and (iii) the front derailleur responding to a signal from the second controller device to shift the chain to an alternating link.
[0101] Therefore, the viewpoint of this disclosure allows the tasks between the controller devices 302 and the operation planning devices 304 to be modified to reconfigure the system 300. As shown in FIG3, the network coordinator device 306 may include a second wired and / or wireless communication interface 306b configured to receive one of the modified task sets 312', wherein the modified task set 312' causes at least one operation planned by an operation planning device 304 to occur in response to a signal 302b from a different controller device 302. The second communication interface 306b may use a different protocol than the first communication interface 306a (e.g., when the first communication interface 306a uses a proprietary protocol).
[0102] Figure 7 illustrates one method for modifying the preset or current task set. In action 702, the network coordinator device (e.g., network coordinator device 306) receives a modified task set (e.g., modified task set 312' in Figure 3). In action 704, the network coordinator device sends the modified task set to the operation planning devices (e.g., operation planning device 304) via the wireless network (e.g., wireless network 308). Therefore, in action 706, the operation planning devices replace the preset or current task set (e.g., the preset task set 312) with the modified task set. In action 708, the operation planning devices determine how to plan operations in response to signals (e.g., signals 302b) based on the modified task set. If necessary, the user can modify the task set again in a similar manner.
[0103] According to some embodiments, referring to FIG3, the second communication interface 306b is configured to wirelessly couple the network coordinator device 306 to an external computing device 314, such as a mobile device (e.g., a smartphone), a tablet computer, a laptop computer, a personal computer, etc. The external computing device 314 may include an application 316, such as a mobile application or other computer software. The application 316 is configured to receive the modified task set 312' from a user and send the modified task set 312' to the network coordinator device 306.
[0104] Figures 4A-C illustrate exemplary scenarios 400a-c of how a modified task set can be implemented in system 300. The controller device 302 paired with the wireless network 308 includes a first controller device 402 and a second controller device 403. The first controller device 402 includes a first input element 402a configured to receive a first input from the user. The first input from the user can modify a state of the first input element 402a. The second controller device 403 includes a second input element 403a configured to receive a second input from the user. The second input from the user can modify a state of the second input element 403a. For example, the first input element 402a could be a right gear shift lever, and the second input element 403a could be a left gear shift lever. The user can engage each gear lever such that the state of the gear lever can be modified to any of the following states: (i) an active state when engaged by the user for less than a critical time; (ii) an inactive state when not engaged by the user; or (iii) an updated state when continuously engaged by the user for at least the critical time. Signals 302b from the controller devices 302 include a first signal 402b from the first controller device 402 and a second signal 403b from the second controller device 403. The first signal 402b indicates the modified state of the first input element 402a, and the second signal 403b indicates the modified state of the second input element 403a. Signals 302b from a specific controller device 302 may include device type identification for the specific controller device 302, an input identifier for the input element 302a on the specific controller device 302 (if there is more than one input element 302a), and information regarding the modified state of the input element 302a. These signals 302b may include more, less, and / or different data.
[0105] The operation planning device 304 includes a first operation planning device 404 and a second operation planning device 405. For example, the first operation planning device 404 may be a front suspension system, and the second operation planning device 405 may be a rear suspension system. According to a first task set 412 shown in FIG4A, the first operation planning device 404 is configured to: (i) identify a first signal 402b from signals 302b received from the controller devices 302; (ii) identify the modification state of the first input element 402a; and (iii) plan a first operation on the bicycle in response to the modification state of the first input element 402a.
[0106] As shown in Figure 4B, the network coordinator device 306 is configured to (i) receive a second task set 412'; and (ii) transmit the second task set 412' to the first operation planning device 404 via the wireless network 308. The first operation planning device 404 is configured to receive the second signal 403b from the second controller device 403 via the wireless network 308. In response to receiving the second task set 412', the first operation planning device 404 may be modified to: (i) identify the modified state of the second input element 403a; (ii) plan the first operation on the bicycle in response to the modified state of the second input element 403a; and (iii) remain idle in response to the first signal from the first controller device 402.
[0107] As shown in Figure 4C, the network coordinator device is configured to (i) receive a third task set 412''; and (ii) transmit the third task set 412'' to the operation planning device 304 via the wireless network 308. The second operation planning device 405 is configured to receive the first signal 402b from the first controller device 402 via the wireless network 308. In response to receiving the third task set 412'', (i) the second operation planning device 405 is configured to identify the modified state of the first input element 402a and to plan a second operation on the bicycle in response to the modified state of the first input element 402a; and (ii) the first operation planning device 404 is modified to remain idle in response to the first signal from the first controller device.
[0108] Figure 8 illustrates a method 800 for establishing a wireless network between a network coordinator device (e.g., a paired coordinator device), controller devices (e.g., several assignable controller devices and several non-assignable or standard controller devices), and an operation designator device, and establishing a preset task set for determining how the operation designator device will designate operations in response to signals received from the controller devices. The actions of the method presented below are intended to be illustrated by example. In some embodiments, the method may be accomplished with one or more additional actions not described, and / or without one or more actions discussed. Furthermore, the order of actions illustrated in Figure 8 and described below is not intended to be limiting.
[0109] In some embodiments, the method may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit configured to process information, an analog circuit configured to process information, a state machine, and / or other mechanisms for electronically processing information). The one or more processing devices include one or more means for performing some or all of the actions of the method in response to instructions electronically stored in an electronic storage medium. The one or more processing devices are configured, via hardware, firmware, and / or software, to specifically perform the actions of one or more of the methods.
[0110] In action 802, the network coordinator device (e.g., network coordinator device 306) initiates a new pairing session to pair, for example, the controller devices (e.g., controller device 302) and the operation designators (e.g., operation designators 304) to a wireless network (e.g., wireless network 308). In action 802, the user initiates a new pairing session by operating a pairing input element (e.g., pairing input element 306c), such as a button, switch, etc., to select the network coordinator device from, for example, the controller devices and operation designators. While in pairing mode, in action 804, the network coordinator device scans for pairing signals from other devices. In other words, the network coordinator device scans for controller devices and operation designators (e.g., joining devices) that wish to join the wireless network.
[0111] In the new pairing mode, the user can selectively pair a controller device or an operating device to the wireless network by operating a corresponding pairing input element, such as a button or switch, placed on the given device in pairing mode. In pairing mode, during action 806, the selected device responds to the operation of its pairing input element by sending a pairing signal to the network coordinator device.
[0112] In action 808, the network coordinator device determines whether the selected device is an assignable device (e.g., an assignable controller device). The network coordinator device can determine whether the selected device is, for example, an assignable controller, based on the transmitted pairing signal. The transmitted pairing signal may include a device type code, and the network coordinator device can determine whether the selected device is an assignable controller based on the device type code in the transmitted pairing signal. A standard controller can be planned using a static device type code that remains unchanged throughout the lifetime of the component. Each assignable controller can be planned using an assignable device type (e.g., an assignable device type code) during manufacturing. For example, the assignable device type code can be stored in the memory of the individual assignable controller. As an example, although additional, fewer, and / or different assignable device type codes may be provided, the assignable device type code may be 96 or 114. In one embodiment, a first assignable device type code (e.g., 96) corresponds to a single-key assignable controller, and a second assignable device type code (e.g., 114) corresponds to a two-key assignable controller.
[0113] In one embodiment, one or more device type code ranges may correspond to one or more assignable controllers. For example, device type codes 96-113 may correspond to a single-key assignable controller device, while device type codes 114-127 may correspond to a double-key assignable controller device. During manufacturing, each of the single-key assignable controller devices may be planned with a device type code (e.g., an assignable device type code) 96, and each of the double-key assignable controller devices may be planned with a device type code (e.g., an assignable device type code) 114. Through the execution of method 800, for example, these assignable device type codes planned during manufacturing may be updated. Therefore, determining whether the selected device is an assignable device may include comparing the device type code stored in the selected device with one or more device type code ranges (for example, the device type code range 96-113 is for a single-key assignable controller device, while the device type code range 114-127 is for a double-key assignable controller device).
[0114] When the network coordinator determines that the selected device is an assignable controller, the method proceeds to action 810. When the network coordinator determines that the selected device is not an assignable controller (e.g., a standard controller), the pairing signal allows the network coordinator to identify the given device and acknowledge its joining the wireless network. If a proprietary network protocol is used for the wireless network (e.g., wireless network 308), only devices paired to communicate according to that proprietary network protocol can be identified and paired by the network coordinator. The method then returns to action 804.
[0115] In action 810, when the selected device is determined to be an assignable controller, for example, the network coordinator device will plan the selected device with a new assignable device type code. For example, a memory of the selected device may store the new assignable device type code. In one embodiment, the new assignable device type code is stored in the memory of the selected device such that, for example, the device type code planned during manufacturing can be replaced.
[0116] For example, when the network coordinator device plans to select a device, the network coordinator device can determine the new assignable device type code of the assignable device based on the incremental numerical order of the assignable device type (e.g., a single-button assignable controller or a two-button assignable controller) and the order in which the assignable devices are paired to enter the wireless network.
[0117] In one embodiment, if the selected device has a device type code 96-113 (e.g., device type code 96, which indicates a key-accessible controller), and is a first key-accessible controller to be paired into the wireless network 308, then the network coordinator device 306 plans the selected device with device type code 97. A second key-accessible controller to be paired into the wireless network (e.g., based on a device type code 96-113) is planned with device type code 98, and a third key-accessible controller to be paired into the wireless network (e.g., based on a device type code 96-113) is planned with device type code 99. This pattern continues for each additional key-accessible controller to be paired into the wireless network.
[0118] If the selected device has a device type code 114-127 (e.g., device type code 114, which indicates a two-key assignable controller), and is a first two-key assignable controller to be paired into the wireless network, then the network coordinator device plans the selected device with device type code 115. A second two-key assignable controller to be paired into the wireless network (e.g., based on device type code 114-127) is planned with device type code 116, and a third assignable device to be paired into the wireless network (e.g., based on device type code 114-127) is planned with device type code 117. This pattern continues for each additional two-key assignable controller to be paired into the wireless network.
[0119] Additional, fewer, and / or different device type codes may be used for single-button assignable controllers and / or dual-button assignable controllers. In one embodiment, the device type assignment may provide a larger number of buttons (e.g., three buttons) to the assignable controller. For example, a three-button assignable controller may be designed with a device type code 128 during manufacturing and may be assigned a device type code 129-141 depending on the order in which they are paired to enter the wireless network.
[0120] After the newly assigned device type code is assigned in action 810, the method returns to action 804 until the pairing session ends. In action 812, the user can manually end the pairing session (e.g., by operating the pairing input element 306c on the network coordinator device 306). Alternatively, the network coordinator device can automatically end the pairing session after a set time period has elapsed.
[0121] A register (e.g., register 310) is defined by the controller device and the operation designator device that have been paired with the wireless network at the end of the pairing session. To enhance system integrity, no other device can be paired with the wireless network after the pairing session has ended. By fixing the register, the system includes only the devices selected by the user (e.g., devices 302, 304). This prevents unauthorized devices from joining the wireless network and from maliciously or accidentally interfering with the operation of the user-selected devices (e.g., devices 302, 304).
[0122] In action 814, at the end of the pairing session, the network coordinator device sends a list of controller devices and operation planning devices that have been paired with the wireless network to the operation planning devices. In action 816, the operation planning devices, based on the list received from the network coordinator device, determine how to plan operation in response to signals received from the controller devices (e.g., signal 302b).
[0123] If necessary, a new pairing session can be initiated by the network coordinator device to reset the roster and pair a different set of devices (e.g., a different set of devices 302, 304). When the new pairing session ends, the different set of devices defines a new roster (e.g., a new roster 310). The new pairing session will unpair and reset all devices that were already in the wireless network in a previous pairing session. Generally, paired devices cannot be removed from the roster, and new devices cannot be added to the roster until a new pairing session is initiated. A device paired to the wireless network can pair to another wireless network (e.g., another bicycle system), but the device cannot rejoin the previous wireless network because the previous wireless network is reset when paired to another wireless network.
[0124] These operation planning devices are configured to process a preset task set (e.g., preset task set 312) based on the register (e.g., register 310) to determine how the operation planning devices should respond to signals (e.g., signals 302b) to plan the operations. The preset task set may be sent by the network coordinator device to each operation planning device and / or stored locally on each operation planning device 304.
[0125] Figures 9A-9B illustrate one embodiment of a method 900 for establishing a wireless network between a network coordinator device, controller devices (e.g., several assignable controller devices and several non-assignable or standard controller devices), and operation designators. The controller devices include three dual-button assignable controller devices (e.g., a flat handlebar shifter), and the operation designators include a lever assembly, a front derailleur, and a rear derailleur, with the rear derailleur defined as the network coordinator device. However, other devices may also be selected as the network coordinator device. The actions of the method presented below are intended to be illustrative. In some embodiments, the method may be accomplished with one or more additional actions not described, and / or without one or more actions discussed. Furthermore, the order of actions illustrated in Figures 9A-9B and the method described below is not intended to be limiting.
[0126] In some embodiments, the method 900 may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit configured to process information, an analog circuit configured to process information, a state machine, and / or other mechanisms for electronically processing information). The one or more processing devices include one or more means for performing some or all of the actions of the method in response to instructions electronically stored in an electronic storage medium. The one or more processing devices are configured to perform the actions of one or more of the methods via hardware, firmware, and / or software.
[0127] In action 902, a network coordinator device (e.g., the rear derailleur) is configured to initiate a new pairing session, for example, by pairing the three dual-button assignable controllers, the seat post assembly, and the front derailleur to a wireless network having the rear derailleur. In action 902, the user initiates a new pairing session by operating a pairing input element, such as a button, switch, etc., to select the network coordinator device (e.g., the rear derailleur) from among the bicycle's controller devices and operating settings.
[0128] When in pairing mode, in action 904, the rear transmission, for example, scans for pairing signals from other devices. In other words, the rear transmission scans for controller devices and operation designators (e.g., joining devices) that wish to join the wireless network.
[0129] When the new pairing mode is active, the user can selectively pair a controller device or an operating device to the wireless network by operating a corresponding pairing input element, such as a button or switch, placed on the given device in pairing mode. In pairing mode, during action 906, the first selection device responds to the operation of the pairing input element of the first selection device by sending a pairing signal to the rear transmission.
[0130] In action 908, the rear transmission determines whether the first selected device is an assignable device (e.g., a first assignable controller). The rear transmission can determine whether the first selected device is, for example, an assignable controller, based on the transmission pairing signal. The transmission pairing signal may include a device type code, and the rear transmission can determine whether the first selected device is an assignable controller based on the device type code in the transmission pairing signal.
[0131] In the examples shown in Figures 9A-9B, the first selected device has a device type 114 that indicates a dual-key assignable controller, and the rear transmission determines that the first selected device is an assignable controller. In action 910, after the rear transmission determines that the first selected device is the first assignable controller in action 908, the rear transmission assigns the first assignable controller with a new assignable device type code. In the examples shown in Figures 9A-9B, the rear transmission assigns the first assignable controller with a new assignable device type code 115, and the first assignable controller is allowed to pair into the wireless network. For example, the new assignable device type code is stored in one of the memories of the first assignable controller (e.g., replacing an initial or recently stored device type code).
[0132] In action 912, the rear transmission continuously scans for pairing signals from other devices. While still in pairing mode, in action 914, a second selection device sends a pairing signal to the rear transmission in response to the operation of the pairing input element of the second device.
[0133] In action 916, the rear transmission determines whether the second selected device is an assignable device (e.g., a second assignable controller). The rear transmission can determine whether the second selected device is, for example, an assignable controller, based on the transmission pairing signal. The transmission pairing signal may include a device type code, and the rear transmission can determine whether the second selected device is an assignable controller based on the device type code in the transmission pairing signal.
[0134] In the examples shown in Figures 9A-9B, the second selected device has a device type 114 that indicates a dual-key assignable controller, and the rear transmission determines that the second selected device is an assignable controller. In action 918, after the rear transmission determines that the second selected device is the second assignable controller in action 916, the rear transmission plans the second assignable controller with a new assignable device type code. In the examples shown in Figures 9A-9B, the rear transmission plans the second assignable controller with a new assignable device type code 116, and the second assignable controller is allowed to pair into the wireless network.
[0135] In action 920, the rear transmission continuously scans for pairing signals from other devices. While still in pairing mode, in action 922, a third selection device sends a pairing signal to the rear transmission in response to the operation of the pairing input element of the third device.
[0136] In action 924, the rear transmission determines whether the third selected device is an assignable device (e.g., a third assignable controller). The rear transmission can determine whether the third selected device is, for example, an assignable controller, based on the transmission pairing signal. The transmission pairing signal may include a device type code, and the rear transmission can determine whether the third selected device is an assignable controller based on the device type code in the transmission pairing signal.
[0137] In the examples shown in Figures 9A-9B, the third selected device has a device type 114 that indicates a dual-key assignable controller, and the rear transmission determines that the third selected device is an assignable controller. In action 926, after the rear transmission determines that the third selected device is the third assignable controller in action 924, the rear transmission plans the third assignable controller with a new assignable device type code. In the example shown in Figure 9, the rear transmission plans the third assignable controller with a new assignable device type code 117, and the third assignable controller is allowed to pair into the wireless network.
[0138] In action 928, the rear transmission continuously scans for pairing signals from other devices. While still in pairing mode, in action 930, a fourth selection device sends a pairing signal to the rear transmission in response to the operation of the pairing input element of the fourth device.
[0139] In action 932, the rear transmission determines whether the fourth selected device is an assignable device. Based on the pairing signal, the rear transmission can determine whether the fourth selected device is, for example, an assignable controller. The pairing signal may include a device type code, and based on the device type code in the pairing signal, the rear transmission can determine whether the fourth selected device is an assignable controller.
[0140] In the examples shown in Figures 9A-9B, the rear transmission determines that the fourth selected device is not an assignable controller (e.g., determines that the fourth selected device is a standard device). As part of action 932, the rear transmission only pairs with standard devices having a different device type than the rear transmission. For example, the pairing signal can identify the fourth selected device as a front transmission, and the front transmission is allowed to pair into the wireless network.
[0141] In action 934, the rear transmission continuously scans for pairing signals from other devices. While still in pairing mode, in action 936, a fifth selection device sends a pairing signal to the rear transmission in response to the operation of the pairing input element of the fifth device.
[0142] In action 938, the rear transmission determines whether the fifth selected device is an assignable device. The rear transmission can determine whether the fifth selected device is, for example, an assignable controller based on the transmission pairing signal. The transmission pairing signal may include a device type code, and the rear transmission can determine whether the fifth selected device is an assignable controller based on the device type code in the transmission pairing signal.
[0143] In the examples shown in Figures 9A-9B, the rear transmission determines that the fifth selected device is not an assignable controller (e.g., determines that the fifth selected device is a standard device). As part of action 938, the rear transmission only pairs with standard devices having a device type different from both the rear transmission and the front transmission. For example, the pairing signal can identify the fifth selected device as a seat assembly, and the seat assembly is allowed to pair into the wireless network.
[0144] In action 940, the rear transmission continuously scans for pairing signals from other devices. In action 942, the user can manually end the pairing session (e.g., by operating the pairing input element on the rear transmission). Alternatively, the rear transmission can automatically end the pairing session after a set time period has elapsed.
[0145] After all selected devices have been paired and the pairing session is closed, the network coordinator device (e.g., the rear transmission) then uses a list of one of these paired devices to specify a preset response. This preset response maps to, for example, the assignable controller. For instance, a first button on one of the first assignable controllers has an outward preset response, and a second button on one of the first assignable controllers has an inward preset response. In one embodiment where the button assignable controller is paired into the wireless network, the first assignable controller may have an outward preset response, and the second assignable controller may have an inward preset response.
[0146] Figure 10 illustrates one embodiment of a method for mapping a preset response to an assignable controller. The method shown in Figure 10 may be a continuation of the method of Figure 9 or another method for establishing a wireless network. The actions of the method presented below are intended to be illustrative. In some embodiments, the method may be accomplished with one or more additional actions not described, and / or without one or more actions discussed. Furthermore, the order of actions illustrated in Figure 10 and described below is not intended to be limiting.
[0147] In some embodiments, the method may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit configured to process information, an analog circuit configured to process information, a state machine, and / or other mechanisms for electronically processing information). The one or more processing devices include one or more means for performing some or all of the actions of the method in response to instructions electronically stored in an electronic storage medium. The one or more processing devices are configured to perform the actions of one or more of the methods via hardware, firmware, and / or software.
[0148] A roster is defined by the controller device and the operating device that have been paired with the wireless network at the end of the pairing session (e.g., the first assignable controller, the second assignable controller, the third assignable controller, the rear derailleur, the front derailleur, and the seat post assembly). To enhance system integrity, no other device can be paired with the wireless network after the pairing session has ended. By fixing the roster, the system only includes the device selected by the user. This prevents unauthorized devices from joining the wireless network and prevents malicious or accidental interference with the operation of the user's actual selected device.
[0149] In action 1002, at the end of the pairing session, the rear derailleur, for example, the operation designation device (e.g., the front derailleur (FD) and the seat post (SP) assembly) sent to the wireless network via pairing, identifies the registers of the controller devices (e.g., the first assignable controller device, the second assignable controller device, and the third assignable controller device) and the operation designation devices (e.g., the rear derailleur (RD), the front derailleur (FD), and the seat post (SP) assembly) and pairs them with the wireless network. In action 1004, as illustrated in FIG10, the RD, the FD, and the SP assembly, for example, are paired to determine how to designate operation in response to signals received from the first assignable controller device FB1, the second assignable controller device FB2, and the third assignable controller device FB3 based on the register sent by the rear derailleur.
[0150] In the example shown in Figure 10, the first assignable controller device FB1, which is paired with the wireless network, is assigned a first predetermined action or control and a second predetermined action or control. For example, a first button (e.g., a first input element) of the first assignable controller device FB1 is assigned an inward movement action of the RD, and a second button (e.g., a second input element) of the first assignable controller device FB1 is assigned an outward movement action of the RD. The second assignable controller device FB2, which is paired with the wireless network, is assigned a third predetermined action or control. For example, both the first button and the second button of the second assignable controller device FB2 are assigned a synchronized movement action of a telescopic tube of the SP assembly. According to this example of mapping preset responses to assignable controller devices, the third assignable controller device FB3 does not have a preset action, and the FD does not have a preset associated controller device.
[0151] Different pairings can be provided with different pairing orders. If an assignable controller device is re-paired into a new system, the device type will again be overridden to a new standard device type planned by a pairing coordinator device (e.g., the network coordinator device). Referring to Figure 11, for example, if the second assignable controller device FB2 is paired into the wireless network before the first assignable controller device FB1 is paired into the wireless network, then the second assignable controller device FB2 can control the RD instead of the first assignable controller device FB1. Furthermore, the first assignable controller device FB1 can control the SP assembly instead of the second assignable controller device FB2.
[0152] The method of this embodiment facilitates the reconfiguration of all controller devices, standard controller devices, and assignable controller devices after pairing, under preset response specifications. For example, such reconfiguration can be performed via, for example, a mobile device application (e.g., application 316) that communicates with the network coordinator.
[0153] An assignable controller device (e.g., controller device 302, which is individually defined as assignable by the device type code planned in the controller device 302) is configured for multiple identical controller devices to be installed on one of the bicycles 100, and the placement of the assignable controller devices 302 on the bicycle 100 is determined by the user. The user can use a mobile device application (e.g., application 316) to reconfigure the assigned controller devices in a graphical user interface (GUI) displayed on a display of a mobile device (e.g., the external computing device 314), where the representations of the same assignable controller devices 302 may have the same name and the same original image (e.g., a picture). In application 316, these representations may therefore be difficult to distinguish from each other. For example, if a user constructs a bicycle with two standard controllers and one of two assignable controllers, when the user opens application 316, the representations of the four devices will be displayed in application 316. Since each representation of the two standard controllers displays a unique original image (e.g., a unique picture) and a unique name, the user may not be able to determine which representation (e.g., which image) in application 316 corresponds to which assignable controller device 302.
[0154] Figure 12 illustrates a method 1200 for indicating which input element (e.g., button) of which controller device has been pressed in a mobile device application or other software (e.g., a mobile device application). The actions of method 1200 presented below are intended to be illustrative. In some embodiments, method 1200 may be accomplished with one or more additional actions not described, and / or without one or more actions discussed. Furthermore, the order of actions of method 1200 illustrated in Figure 12 and described below is not intended to be limiting.
[0155] In some embodiments, the method 1200 may be implemented in one or more processing devices (e.g., a digital processor, an analog processor, a digital circuit configured to process information, an analog circuit configured to process information, a state machine, and / or other mechanisms for electronically processing information). The one or more processing devices include one or more means for performing some or all of the actions of the method 1200 in response to instructions electronically stored in an electronic storage medium. The one or more processing devices are configured to perform the actions of one or more of the methods via hardware, firmware, and / or software.
[0156] Referring to the example in Figure 12, in a bicycle (e.g., bicycle 100), "Controller 0" is a first assignable controller device, and "Controller 1" is a second assignable controller device. The first assignable controller device and the second assignable controller device are the same controller device (e.g., the same controller device). "Bridging device" corresponds to a coordinator device on the bicycle (e.g., network coordinator device 306) or other computing device (e.g., controller device). "AXS App" corresponds to, for example, an application running on a mobile device (e.g., external computing device 314) (e.g., application 316). The coordinator device can communicate with the first assignable controller device, the second assignable controller device, and the application running on the mobile device. For example, the coordinator device can communicate with the first assignable controller device and the second assignable controller device via a first wireless network (e.g., established via pairing session as described above), and with the mobile device via a second wireless network. In one embodiment, data may be communicated via the first wireless network and the second wireless network using different protocols or standards. In another embodiment, data may be communicated via the first wireless network and the second wireless network using the same protocol or standard. In other words, the first wireless network and the second wireless network may be part of an overall wireless network through which at least the coordinator device, the first assignable controller device, the second assignable controller device, and the mobile device may communicate.
[0157] In action 1202, in response to user input (e.g., a button press) at one of the input elements (e.g., a button) of the first assignable controller device, the first assignable controller device generates and sends a message or signal (e.g., a button message) to the controller device. In one embodiment, the first assignable controller device also sends the button message to other devices on the bicycle (e.g., paired with it in the first wireless network). For example, the first assignable controller device sends the button message to all receivers on the bicycle's first wireless network (e.g., all controller devices and operation control devices paired with the coordinator device).
[0158] The button message, for example, includes information identifying a device type and information identifying the input element, and its actuation can initiate the generation of the button message. The information identifying the device type can be, for example, a device type code as described above, and the information identifying the input element can be a bit mask (e.g., a button mask) having one or more bits associated with, for example, the first assignable controller (e.g., associated with one or more input elements or buttons of the first assignable controller). For example, the bit mask can individually include bits associated with one or more input elements of the first assignable controller, and one bit of the bit mask can be set when a corresponding input element is actuated.
[0159] In action 1204, the coordinator device may store data identifying the device type and data identifying the input element used by the first assignable controller device in a memory of the coordinator device. For example, the coordinator device may store data identifying the device type and data identifying the input element in the coordinator device's cache memory.
[0160] In action 1206, the coordinator device generates a notification based on the button message received by the coordinator device. The coordinator device sends the notification to an application running on the mobile device via the second wireless network. The notification identifies that a new controller device has been heard by the coordinator device.
[0161] In action 1208, in response to the notification sent by the coordinator device to the mobile device, the mobile device (e.g., via an application running on the mobile device) may generate a request and send the request to the coordinator device via the second wireless network. The request is for information about the newly heard controller device (e.g., information related to the received button message).
[0162] In action 1210, the coordinator device retrieves data stored in the coordinator device (e.g., cache memory) identifying the device type and data identifying the input element (e.g., the button cover) for the first assignable controller device. The coordinator device transmits, for example, the cache data to the mobile device via, for example, the second wireless network. The cache data may be unique cache data stored in the coordinator device regarding the device type and input element. For example, when the coordinator device stores data identifying the device type and data identifying the input element in its cache memory, the coordinator device may overwrite previously stored device type data and input element identification data in its cache memory. Alternatively, the cache data retrieved in action 1210 may be the most recent cache data of the coordinator device.
[0163] In action 1212, the application running on the mobile device can emphasize the representation of the first assignable controller in the mobile device application based on the received cache data. For example, the mobile device or other devices communicating with the mobile device can store data associated with the representation of the first assignable controller displayed in the GUI of the application running on the mobile device. For example, the mobile device can store a device type and one or more button masks for each device displayed in the application, and the mobile device compares the received cache data with the data stored in the mobile device to identify which representation to emphasize (e.g., which button representation of which device representation is displayed in the GUI of the application running on the mobile device).
[0164] An application running on the mobile device may include any number of methods to emphasize a recognized representation within the application. For example, the mobile device may emphasize a recognized representation by increasing its brightness (e.g., lighting it up) and / or changing its color. In one embodiment, the application running on the mobile device emphasizes the recognized representation for a predetermined amount of time (e.g., one second, two seconds, or five seconds). In another embodiment, the application running on the mobile device emphasizes the recognized representation until another representation within the application becomes emphasized (e.g., when another input element is actuated).
[0165] The example shown in Figure 12 illustrates actions 1202-1212 that are repeatedly performed for the second assignable controller device. Actions 1202-1212 of method 1200 can be repeated any number of times for any number of controller devices (e.g., assignable controller devices) paired to the first wireless network. In one embodiment, actions 1202-1212 of method 1200 can be repeated each time an input element of one of the controller devices paired with the coordinator device via the first wireless network is actuated by user input. In another embodiment, actions 1202-1212 of method 1200 can be repeated each time an input element of one of the assignable controller devices paired with the coordinator device via the first wireless network is actuated by user input.
[0166] Figure 13 is a visual representation of a user experience in an application operating on a mobile device, indicating, for example, which input element (e.g., a button) of a controller device has been pressed. Figure 13 illustrates a system 1300 of a bicycle (e.g., bicycle 100) including a rear derailleur 1302 as a coordinator device (e.g., a bridging device), a first controller device 1304, a second controller device 1306, a third controller device 1308, and a front derailleur 1310. The system 1300 may include more, fewer, and / or different components. For example, the system 1300 may include more or fewer controller devices.
[0167] The rear transmission 1302, the first controller device 1304, the second controller device 1306, the third controller device 1308, and the front transmission 1310 communicate with each other, for example, via a wireless network (e.g., a first wireless network 1312). In one embodiment, as described above, the first controller device 1304, the second controller device 1306, the third controller device 1308, and the front transmission 1310 are paired with the rear transmission 1302 to form the first wireless network 1312.
[0168] For example, the rear transmission 1302 of the coordinator device communicates with a mobile device 1314 (e.g., a mobile phone) via the wireless network or another wireless network (e.g., a second wireless network 1316). The first wireless network 1312 and the second wireless network 1316 may be part of a whole wireless network operating with the same standard or protocol, or the first wireless network 1312 and the second wireless network 1316 may be different wireless networks operating individually with different standards or protocols.
[0169] The mobile device 1314 is configured to operate an application 1318, including a GUI 1320 displayed on the mobile device 1314. The application 1318 can facilitate (e.g., via the GUI 1320), for example, the configuration of components of the bicycle system 1300 (e.g., the rear derailleur 1302 and the front derailleur 1310), and / or the modification of tasks (e.g., the preset task set). The application 1318 can provide additional and / or different functionality.
[0170] The GUI 1320 displayed in application 1318 includes representations of at least assignable controller devices (e.g., the first controller device 1304 and the second controller device 1306) paired with the coordinator device (e.g., the rear transmission 1302) in the first wireless network 1312. In one embodiment, the GUI 1320 displayed in application 1318 includes representations of all components of system 1300 (e.g., all components paired with the rear transmission 1302 in the first wireless network 1312). The representation of a unique component of system 1300 (e.g., the rear transmission 1302, the third controller device 1308, and the front transmission 1310) may have a unique representation (not shown) individually displayed in the GUI 1320 of application 1318. Such unique representations of system 1300 can be identified by the corresponding representation in GUI 1320. Assignable controller devices (e.g., the first controller device 1304 and the second controller device 1306) of the same type of controller device (e.g., the same controller device; a single-button controller device, a two-button controller device, or a three-button controller device) may not be individually identifiable by their corresponding representations in the GUI 1320. In other words, for example, the representation 1322 of the first controller device 1304 and the representation 1324 of the second controller device 1306 displayed in the GUI 1320 of the application 1318 running on the mobile device 1314 may be the same.
[0171] In the example shown in Figure 13, the first controller device 1304 includes three input elements 1326a-c (e.g., buttons), the second controller device 1306 includes three input elements 1328a-c (e.g., buttons), and the third controller device 1308 includes three input elements 1330a-c (e.g., buttons). The representation type 1322 of the first assignable controller device 1304 may correspondingly include representation types 1332a-c with three input elements, and the representation type 1324 of the second controller device 1306 may correspondingly include representation types 1334a-c with three input elements. The first assignable controller device 1304 and the second controller device 1306, and the corresponding controller device representation types 1322 and 1324 may include more or fewer input elements.
[0172] As illustrated in the example of Figure 13, when a user presses down a second input element 1326b (e.g., button 2) of the first controller device 1304, the first controller device 1304 sends information identifying which button on which controller was pressed (e.g., a device type code and a button mask; button identification data) to the coordinator device (e.g., a bridge device such as the rear gearbox 1302). Referring to Figure 12 above, the coordinator device 1302 ultimately sends the button identification data to the mobile device 1314 running the application 1318. The mobile device 1314 identifies which controller device representation type (e.g., representation type 1322 or 1324) and which input element representation type (e.g., representation type 1332a, 1332b, 1332c, 1334a, 1334b, or 1334c) in the GUI 1320 of the application 1318 running on the mobile device 1314 corresponds to the received button identification data, and the mobile device 1314 emphasizes the identification representation type (e.g., representation type 1332b) in the GUI 1320 of the application 1318. For example, the mobile device matches the received button identification data with data corresponding to a representation type (e.g., representation type 1332b) in the GUI 1320 of the application 1318. Through this procedure, the user can easily identify the same component (e.g., the same shifter) without having to guess which controller device corresponds to which representation in the GUI 1320 of the application 1318.
[0173] This embodiment incorporates computer processing, such as receiving and transmitting wireless signals, and determining how to respond to such signals. For example, the network coordinator device 306 may include one or more processors 306d configured to execute program instructions stored in a computer-readable medium 306e, which, when executed, cause the one or more processors 306d to: (i) establish a pairing session via the first communication interface 306c that allows the controller devices 302 and the operation designators 304 to pair with a wireless network 308; and (ii) send a register 310 identifying the controller devices 302 and the operation designators 304 paired with the wireless network 308 to the operation designators 304 via the first communication interface 306c.
[0174] As another example, an operation planning device 304 may include one or more processors 304c configured to execute program instructions stored in computer-readable media 304d. These program instructions cause the one or more processors 304c to process the preset task set 312 based on the register 310. The preset task set 312 indicates which controller device 302 is selected to cause the operation planning device 304 to respond by modifying the operating state of the bicycle. Furthermore, the one or more processors 304c of the operation planning device 304 receive a modified task set 312' from the network coordinator device 306 via the communication interface 304a. The modified task set 312' causes the operation planning device 304 to modify the operating state of the bicycle in response to signals 302b from different devices among the controller devices. The program instructions cause the one or more processors 304c to replace the preset or current task set 312 with the modified task set 312'.
[0175] These embodiments using one or more processors 302e, 304c, 306d may include a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), analog circuitry, digital circuitry, combinations thereof, or other processors currently known or developed thereafter. The processor may be a single device or a combination of devices, such as through shared or parallel processing.
[0176] The viewpoint of this embodiment can also be applied to computer memory. This type of memory can be electrically dependent or non-electrically dependent. The memory may include one or more of a read-only memory (ROM), random access memory (RAM), cache memory, electronically erasable programmable read-only memory (EEPROM), or other types of memory. The memory can be removed from the corresponding device, such as a secure digital storage (SD) memory card. Computer memory includes any one or more of a computer-readable medium and other equivalent means and subsequent media capable of storing data or instructions. Generally, a computer-readable medium includes any medium capable of storing, encoding, or carrying a set of instructions that are executed by a processor or cause a computer system to perform any or more of the methods or operations disclosed herein.
[0177] To power wireless communication and computer processing, these embodiments use a power supply, which may be housed internally or externally to the operating device. The power supply may include a combination of multiple batteries or other power supply devices. Specially installed or assembled battery types, or standard battery types such as CR 2012, CR 2016, and / or CR 2032, may be used. In some embodiments, all devices in a system may be individually powered (e.g., by a dedicated battery).
[0178] As described above, these embodiments utilize a communication interface. Such communication interfaces are configured to transmit data, such as control signals and / or commands, to bicycle components. In particular, the communication interface can provide wireless communication in any currently known or subsequently developed format. While this specification illustrates components and functions that can be implemented in specific embodiments referencing particular standards and protocols, the invention is not limited to such standards and protocols. For example, standards for internet and other packet-switched network transmissions (e.g., TCP / IP, UDP / IP, HTML, HTTP, HTTPS) represent examples of current state-of-the-art technology. Such standards are periodically superseded by faster or more efficient equivalent standards that substantially have the same functionality. Therefore, alternative standards and protocols having the same or similar functionality as disclosed herein are considered their equivalents.
[0179] It should be understood that the diagrams or other representations of the device, such as the network coordinator device, the controller device, and the operation planning device, include (even if not explicitly indicated) any combination of processor, memory device (e.g., computer-readable medium storing program instructions executed by the processor), communication interface, and power supply required to achieve the disclosed features.
[0180] From the above discussion, it will be understood that the present invention can be embodied in various illustrative forms, including but not limited to the following:
[0181] Example 1: A coordinator device for a bicycle, the coordinator device comprising: A communication interface, which is assembled as follows: Wireless communication is achieved via a first wireless network with a controller device of the bicycle, the controller device being configured to generate a signal in response to a user input at an input element of the controller device; and Wireless communication is achieved via a second wireless network with a mobile device configured to generate a graphical user interface (GUI) including a representation of the controller device containing the input elements; A processor communicating with the communication interface is configured to receive, via the communication interface and the first wireless network, a signal generated in response to user input at the input element from the controller device, the signal including data identifying a device type and data identifying the input element; and A memory that communicates with the processor and the communication interface, the memory system being configured to store data identifying the device type and data identifying the input element. The processor is further assembled as follows: A notification is generated based on the received signal; The notification is sent to the mobile device via the communication interface and the second wireless network. In response to the sending of the generated notification, a request is received from the mobile device via the communication interface and the second wireless network, the request relating to data concerning the received signal; and In response to the request, the stored data identifying the device type and the stored data identifying the input element are sent to the mobile device via the communication interface and the second wireless network, so that the association between the controller device and the representation of the controller device can be identified in the GUI of the mobile device.
[0182] Example 2: The coordinator device as in Example 1, wherein the coordinator device is a rear derailleur for the bicycle.
[0183] Example 3: The coordinator device as in Example 1, wherein the first wireless network is different from the second wireless network.
[0184] Example 4: As in Example 1, the coordinator device, wherein the controller device is a first controller device, and The communication interface is further configured to communicate wirelessly with a second controller device of the bicycle via the first wireless network.
[0185] Example 5: As in Example 4, the coordinator device, wherein the memory system is configured to store data identifying the device type and data identifying the input element, including the memory system being configured to cache the data identifying the device type and the data identifying the input element.
[0186] Example 6: The coordinator device of Example 5, wherein the cached data identifying the input element is a one-bit mask having one or more bits associated with the controller device.
[0187] Example 7: As in Example 5, the coordinator device, wherein the user input is a first user input, the input element is a first input element, the signal is a first signal, and the device type is a first device type. The second controller device is configured to generate a second signal in response to a second user input at one of its input elements, wherein the input element of the second controller device is a second input element. The processor is further configured to, after receiving the first signal from the first controller device, receive, via the communication interface and the first wireless network, a second signal generated in response to the second user input at the second input element from the second controller device. The second signal includes data identifying a second device type and data identifying the second input element, the second device type being associated with the second controller device. The memory system is further configured to cache data identifying the type of the second device and data identifying the second input element.
[0188] Example 8: The coordinator device as in Example 7, wherein the first device type and the second device type are the same device type.
[0189] Example 9: The coordinator device as in Example 7, wherein the memory system is configured to replace the cached data identifying the first device type and the data identifying the first input element with the cached data identifying the second device type and the cached data identifying the second input element.
[0190] Example 10: The coordinator device as in Example 9, wherein the notification is a first notification and the request is a first request. The processor is further assembled as follows: A second notification is generated based on the received second signal; The second notification is sent to the mobile device via the communication interface and the second wireless network. In response to the transmission of the generated second notification, a second request is received from the mobile device via the communication interface and the second wireless network, the second request relating to data concerning the received second signal; and In response to the second request, the cached data identifying the type of the second device and the cached data identifying the second input element are sent to the mobile device via the communication interface and the second wireless network, so that the association between the second controller device and one of the representation types of the second controller device can be identified in the GUI of the mobile device.
[0191] Example 11: A non-transitory computer-readable storage medium that stores instructions executed by one or more processors to identify which of a plurality of controller devices of a bicycle corresponds to a representation of one of the controller devices in a graphical user interface (GUI), the instructions comprising: The GUI is displayed on a monitor and includes a representation of at least one first controller device and a representation of one second controller device, wherein the representation of the first controller device includes one or more representations of input elements. A notification is received via a wireless network from one of the bicycle's coordinating devices, indicating that a signal from one of the multiple controller devices has been received by the coordinating device, and that the signal is generated in response to user input at one of the controller device's input elements. In response to receiving the notification, the controller device is requested from the coordinator device via the wireless network; In response to a request for identification of the controller device, information about the controller device is received, including information identifying a device type of the controller device and information identifying an input element of the controller device used to generate the signal; Based on the received information about the controller device, the controller device is identified as being associated with the representation type of the first controller device in the GUI; and Emphasis is placed on at least a portion of the representation of the first controller device in the GUI.
[0192] Example 12: A non-transitory computer-readable storage medium as in Example 11, wherein identifying the controller device as associated with the representation type of the first controller device includes identifying the input element as associated with one of the representation types of the input element in the displayed GUI based on data identifying the device type of the controller device and data identifying the input element of the controller device, and the input element is associated with one of the representation types of the input element in the displayed GUI. The emphasis on the representation of the first controller device in the GUI includes emphasizing the representation of the input element in the GUI.
[0193] Example 13: A non-transitory computer-readable storage medium as in Example 12, wherein the representation of the input element in the GUI includes changing the color of one representation of the input element in the GUI or changing the brightness of one representation of the input element in the GUI.
[0194] Example 14: A non-transitory computer-readable storage medium as in Example 12, wherein the representation of the input element in the GUI is emphasized to include the representation of the input element for a predetermined time period.
[0195] Example 15: A non-transitory computer-readable storage medium as in Example 14, wherein one or more representations of the input element are one or more representations of a first input element, the notification is a first notification, and the signal is a first signal. The representation type of the second controller device includes one or more representation types of the second input element. These instructions further include: After the first notification is received from the coordinator device, a second notification is received from the coordinator device of the bicycle via the wireless network. The second notification indicates that a second signal from another controller device among the plurality of controller devices has been received by the coordinator device. The second signal is generated in response to user input at an input element of one of the other controller devices. In response to the receipt of the second notification, the coordinator device requests the identification of the other controller device from the coordinator device via the wireless network; In response to a request for identification of the other controller device, information about the other controller device is received, including information identifying a device type of the other controller device and information identifying an input element of the other controller device used to generate the second signal; Based on the received information about the other controller device, identify that the other controller device is associated with the representation type of the second controller device in the GUI; and Emphasis is placed on at least a portion of the representation of the second controller device in the GUI.
[0196] Example 16: A non-transitory computer-readable storage medium as in Example 15, wherein the controller device and the other controller device are controller devices of the same type, and the controller device of the same type is an assignable controller device.
[0197] Example 17: A non-transitory computer-readable storage medium as in Example 12, wherein the data identifying the input element of the controller device used to generate the signal is a one-bit mask having one or more bits associated with the controller device.
[0198] Example 18: A non-transitory computer-readable storage medium as in Example 11, wherein the one or more processors and the display are one or more processors and a display of an mobile device.
[0199] Example 19: A system for a bicycle, the system comprising: Multiple controller devices, wherein two or more of the controller devices are of the same type; A coordinator device that communicates with the plurality of controller devices via a first wireless network, the coordinator device comprising: A communication interface, which is assembled as follows: Wireless communication is achieved via the first wireless network with one of the plurality of controller devices, which is configured to generate a signal in response to user input at one of its input elements; and Wireless communication is achieved via a second wireless network with a mobile device configured to generate a graphical user interface (GUI) including a representation of the controller device containing the input elements; A processor communicating with the communication interface, configured to receive signals generated in response to user input at the input element from the controller device via the communication interface and the first wireless network, the signals including data identifying a device type and data identifying the input element; and A memory that communicates with the processor and the communication interface, the memory system being configured to store data identifying the device type and data identifying the input element. The processor is further assembled as follows: A notification is generated based on the received signal; The notification is sent to the mobile device via the communication interface and the second wireless network. In response to the sending of the generated notification, a request is received from the mobile device via the communication interface and the second wireless network, the request relating to data concerning the received signal; and In response to the request, the stored data identifying the device type and the stored data identifying the input element are sent to the mobile device via the communication interface and the second wireless network, so that the association between the controller device and the representation of the controller device can be identified in the GUI of the mobile device.
[0200] Example 20: The system as in Example 19, wherein the coordinator device is a rear transmission.
[0201] The illustrative embodiments described herein are intended to provide a general understanding of the structure of various different embodiments. These illustrative examples are not intended to be a complete description of all elements and features of devices and systems using the structures or methods described herein. Many other embodiments will become more apparent to those skilled in the art upon further review of this disclosure. Other embodiments may also be used and derived from the scope of this disclosure, allowing structural and logical substitutions and changes to be made without departing from the scope of this disclosure. Furthermore, these illustrative examples are merely representative and not drawn to scale. Some scales in these illustrative examples may be exaggerated, while others may be minimized. Therefore, this disclosure and the figures are intended to be illustrative and not limiting.
[0202] Although this specification contains numerous details, it should not be construed as the scope of the invention or any limitation that may be claimed therein, but rather as a description of features unique to particular embodiments of the invention. In the context of separate embodiments, certain features described in this specification may also be implemented in a single embodiment. Conversely, various different features described in the context of a single embodiment may also be implemented separately or in any suitable sub-combination in multiple embodiments. Furthermore, although features have been described above as operating in certain combinations, and even if so initially claimed, one or more features from a claimed combination may be used from that combination in certain situations, and the claimed combination may be for a single combination or a variation thereof.
[0203] Although certain actions and / or functions described in this disclosure are described as being performed by a specific entity, such actions and / or functions can be performed by any entity, such as those described in this disclosure. Furthermore, although such actions and / or functions are described in a specific order, such actions and / or functions do not necessarily need to be performed in that order. However, in some instances, it is necessary to perform such actions and / or functions in the stated order. Moreover, each of such actions and / or functions may be performed in response to one or more other actions and / or functions. Additionally, not all such actions and / or functions need to be performed to achieve one or more advantages provided by this disclosure, and therefore not all such actions and / or functions are required.
[0204] In some situations, multiplexing and parallel processing are advantageous. Furthermore, the separation of various system components in the above embodiments should not be construed as requiring such separation in all embodiments, but rather as meaning that any described program components and systems can generally be integrated into a single software product or packaged into multiple software products.
[0205] The detailed description above is intended to be illustrative rather than limiting, and it should be understood that the following claims, including all equivalents, are intended to define the scope of the invention. These claims should not be construed as limiting to the order or elements of the description unless otherwise stated. Therefore, all embodiments falling within the scope and spirit of the following claims and their equivalents are claimed as part of the invention.
[0206] 100: Road bike 102,202: Chassis 104, 204: Front tires 106, 206: Rear wheel 108, 208: Transmission system 108a, 208a: Transmission chain 108b, 208b: Front crank 108c, 208c: Front sprocket (front chain link) 108d, 1310: Electromagnetic front gearbox 108e, 208e: Rear sprocket 108f: Electromagnetic rear derailleur 108g, 108l: Base components 108h, 108q: Chain guide assembly 108i: Front Linkage 108j: Front power supply 108k: Front motor unit 108m: Linkage assembly 108n: Linkage 108o,311: Movable components 108r: Motor unit 108s: Post-power supply 110: Front brake 112: Rear brake 114,214: Handle assembly 114a: Bottom right handle 114b: Lower left handle 116: First or right brake lever 118: Second or left brake lever 120, 220, 402, 1304: First or right controller device 120a, 220a: First gear lever 120b, 220b: First gear signal 120C, 220C: First electrical switch 120d: First Controller Communication Interface 120e: First Controller Processor 122,222,403,1306: Second or left controller device 122a, 222a: Second gear lever 122b, 222b: Second gear signal 122c, 222c: Second electrical switch 122d: Second controller communication interface 122e: Second Controller Processor 124,224,306: Network coordinator device L1: First gear shift lever shaft L2: Second gear lever shaft 200: Mountain bike 208f, 1302, RD: Rear transmission 210: Front Disc Brake 212: Rear Disc Brake 220d: First gear shift communication interface 220e, 222e, 234e, 236e, 238e, 302e, 304c, 306d: Processors 222d: Second gear communication interface 226: Seatpost Assembly 226a: First or lower pipe 226b: Second or senior executive 226c: Seat head 226d: Seatpost Motor Unit 226e: Power Supply 228: Seats 230: Front suspension system 232: Rear Suspension System 234: Seat post controller device 234a: Steerable input element 234b: Base stick signal 234c: Base pole electrical switch 234d: Post controller communication interface 236: Front suspension controller device 236a: Front suspension input element 236b: Front suspension signal 236c: Front suspension electrical switch 236d: Front Suspension Controller Communication Interface 238: Rear suspension controller device 238a: Rear suspension input element 238b: Rear suspension signal 238c: Rear Suspension Electrical Switch 238d: Rear Suspension Controller Communication Interface 300: System 302: Controller device 302a, 1326a, 1326b, 1326c, 1328a, 1328b, 1328c, 1330a, 1330b, 1330c: Input elements 302c, 304a: Communication Interface 302d, 304b, 306c: Paired input elements 304: Operation of designated device 304d, 306e: Memory 306: Network Coordinator Device 306a: First Communication Interface 306b: Second Communication Interface 308, 1312, 1316: Wireless Network 310: Roster 311: Movable components 312: Preset Task Set 312': Modify the task set 314: External computing device 316,1318: Application 400a, 400b, 400c: Scenario 402a: First input element 402b: First Signal 403a, 1326b: Second input element 403b: Second signal 404: First Operation Designation Device 405: Second Operation Planning Device 412: The First Mission Set 412': Second Task Set 412'': Third Task Set 500, 600, 700, 800, 900, 1000, 1200: Method 502,504,506,508,510,512,514,516,518,602,604,606,702,704,706,708,802,804,806, 808,810,812,814,816,902,904,906,908,910,912,914,916,918,920,922,924,926,928, 930,932,934,936,938,940,942,1002,1004,1202,1204,1206,1208,1210,1212: Actions 1300: System 1308: Third controller device 1314: Mobile Device 1320: Graphical User Interface 1322, 1324, 1332a, 1332b, 1332c, 1334a, 1334b, 1334c: represent the type FD: Front transmission SP: Seat Post FB1: First assignable controller device FB2: Second assignable controller device FB3: Third assignable controller device
Claims
1. A coordinator device for a bicycle, the coordinator device comprising: a communication interface configured to: wirelessly communicate with the controller device of the bicycle via a first wireless network, the controller device being configured to generate a signal in response to a user input at an input element of the controller device; and wirelessly communicate with a mobile device via a second wireless network, the mobile device being configured to generate a graphical user interface (GUI) including a representation of the controller device containing the input element; a processor communicating with the communication interface, the processor being configured to receive, via the communication interface and the first wireless network, the signal generated from the controller device in response to the user input at the input element, the signal including data identifying a device type and data identifying the input element; and a memory communicating with the processor and the communication interface, the memory being configured to store the data identifying the device type and the data identifying the input element, wherein the processor is further configured to: generate a notification based on the received signal; The notification is sent to the mobile device via the communication interface and the second wireless network; in response to the sending of the notification, a request is received from the mobile device via the communication interface and the second wireless network, the request being for data relating to the received signal; and in response to the request, stored data identifying the device type and stored data identifying the input element are sent to the mobile device via the communication interface and the second wireless network, such that an association between the controller device and the representation type of the controller device can be identified in the GUI of the mobile device; wherein the controller device is a first controller device, wherein the communication interface is further configured to wirelessly communicate with a second controller device of the bicycle via the first wireless network; wherein the first controller device and the second controller device are controller devices of the same type, and the controller devices of the same type are assignable controller devices.
2. The coordinator device as claimed in claim 1, wherein the coordinator device is a rear derailleur for the bicycle.
3. The coordinator device as claimed in claim 1, wherein the first wireless network is different from the second wireless network.
4. The coordinator device of claim 1, wherein the memory system is configured to store data identifying the device type and data identifying the input element, including the memory system being configured to cache the data identifying the device type and the data identifying the input element.
5. The coordinator device as claimed in claim 4, wherein the cached data identifying the input element is a one-bit mask having one or more bits associated with the controller device.
6. The coordinator device of claim 4, wherein the user input is a first user input, the input element is a first input element, the signal is a first signal, and the device type is a first device type, wherein the second controller device is configured to generate a second signal in response to a second user input at one of the input elements of the second controller device, the input element of the second controller device being a second input element, wherein the processor is further configured to, after receiving the first signal from the first controller device, receive the second signal generated in response to the second user input at the second input element via the communication interface and the first wireless network from the second controller device, the second signal including data identifying a second device type and data identifying the second input element, the second device type being associated with the second controller device, and wherein the memory system is further configured to cache the data identifying the second device type and the data identifying the second input element.
7. The coordinator device of claim 6, wherein the memory system is configured to replace the cached data identifying the first device type and the data identifying the first input element with cached data identifying the second device type and cached data identifying the second input element.
8. The coordinator device of claim 7, wherein the notification is a first notification and the request is a first request, wherein the processor is further configured to: generate a second notification based on the received second signal; send the generated second notification to the mobile device via the communication interface and the second wireless network; in response to the sending of the generated second notification, receive a second request from the mobile device via the communication interface and the second wireless network, the second request being for information relating to the received second signal; and in response to the second request, send cached information identifying the type of the second device and cached information identifying the second input element to the mobile device via the communication interface and the second wireless network, such that an association between the second controller device and a representation of the second controller device can be identified within the GUI of the mobile device.
9. A non-transitory computer-readable storage medium storing instructions executed by one or more processors to identify which of a plurality of controller devices of a bicycle corresponds to a representation of one of the controller devices in a graphical user interface (GUI), the instructions comprising: displaying the GUI having at least one representation of a first controller device and one representation of a second controller device via a display, the representation of the first controller device including one or more representations of input elements; receiving a notification via a wireless network from a coordinator device of the bicycle indicating that a signal from one of the plurality of controller devices is received by the coordinator device, the signal being generated in response to user input at an input element of the controller device; requesting identification of the controller device from the coordinator device via the wireless network in response to the receipt of the notification; and receiving data relating to the controller device in response to the request for identification of the controller device, the data relating to the controller device including data identifying a device type of the controller device and data identifying an input element of the controller device used to generate the signal. Based on the received information about the controller device, the controller device is identified as being associated with the representation of the first controller device in the GUI; and at least a portion of the representation of the first controller device in the GUI is highlighted; wherein the controller device and another controller device among the plurality of controller devices are controller devices of the same type, and the controller devices of the same type are an assignable controller device.
10. The non-transitory computer-readable storage medium of claim 9, wherein identifying the controller device as associated with the representation of the first controller device includes identifying the input element as associated with one of the representations of the input element of the one or more representations of the input element in the displayed GUI based on data identifying the device type of the controller device and data identifying the input element of the controller device, and wherein highlighting the representation of the first controller device in the GUI includes highlighting the representation of the input element in the GUI.
11. The non-transitory computer-readable storage medium of claim 10, wherein the representation of the input element in the GUI includes changing the color of one representation of the input element in the GUI or changing the brightness of one representation of the input element in the GUI.
12. The non-transitory computer-readable storage medium of claim 10, wherein the representation of the input element in the GUI includes a predetermined time period for emphasizing the representation of the input element.
13. The non-transitory computer-readable storage medium of claim 12, wherein the representation of one or more input elements is one or more representations of a first input element, the notification is a first notification, and the signal is a first signal, wherein the representation of the second controller device includes one or more representations of a second input element, wherein the instructions further comprise: receiving, upon receiving the first notification from the coordinator device, a second notification via the wireless network from the coordinator device of the bicycle, the second notification indicating that a second signal from another controller device of the plurality of controller devices is received by the coordinator device, the second signal being generated in response to user input at an input element of the other controller device; requesting identification of the other controller device from the coordinator device via the wireless network in response to the receipt of the second notification; and receiving, in response to the request for identification of the other controller device, information relating to the other controller device, the information relating to the other controller device including information identifying a device type of the other controller device and information identifying an input element of the other controller device used to generate the second signal; Based on the received information about the other controller device, identify the other controller device as being associated with the representation of the second controller device in the GUI; and highlight at least a portion of the representation of the second controller device in the GUI.
14. The non-transitory computer-readable storage medium of claim 10, wherein the data identifying the input element of the controller device for generating the signal is a one-bit mask having one or more bits associated with the controller device.
15. The non-transitory computer-readable storage medium of claim 9, wherein the one or more processors and the display are one or more processors and a display of an mobile device.
16. A system for a bicycle, the system comprising: a plurality of controller devices, wherein two or more of the plurality of controller devices are of the same type, and the controller devices of the same type constitute an assignable controller device; a coordinator device for communicating with the plurality of controller devices via a first wireless network, the coordinator device comprising: a communication interface configured to: wirelessly communicate with one of the controller devices via the first wireless network, the controller device being configured to generate a signal in response to user input at an input element of the controller device; and wirelessly communicate with a mobile device via a second wireless network, the mobile device being configured to generate a graphical user interface (GUI) including a representation of the controller device containing the input element; A processor communicating with the communication interface is configured to receive, via the communication interface and the first wireless network, a signal generated in response to user input at the input element from the controller device, the signal including data identifying a device type and data identifying the input element; and a memory communicating with the processor and the communication interface, the memory being configured to store the data identifying the device type and the data identifying the input element, wherein the processor is further configured to: generate a notification based on the received signal; and send the generated notification to the mobile device via the communication interface and the second wireless network; In response to the sending of the generated notification, a request is received from the mobile device via the communication interface and the second wireless network, the request being for data relating to the received signal; and in response to the request, stored data identifying the device type and stored data identifying the input element are sent to the mobile device via the communication interface and the second wireless network, such that an association between the controller device and the representation of the controller device can be identified within the GUI on the mobile device.
17. The system of claim 16, wherein the coordinator device is a rear transmission.
Citation Information
Patent Citations
Bicycle electronic system
CN106364608A
System for a bicylce
CN111483546A
Bicycle electrical system
US20160257269A1