M155=>M260, M156=>M261
This commit is contained in:
		
							parent
							
								
									e765eebfb0
								
							
						
					
					
						commit
						75bfde9945
					
				| @ -808,22 +808,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -214,6 +214,8 @@ | |||||||
|  * M226 - Wait until a pin is in a given state: "M226 P<pin> S<state>" |  * M226 - Wait until a pin is in a given state: "M226 P<pin> S<state>" | ||||||
|  * M240 - Trigger a camera to take a photograph. (Requires CHDK or PHOTOGRAPH_PIN) |  * M240 - Trigger a camera to take a photograph. (Requires CHDK or PHOTOGRAPH_PIN) | ||||||
|  * M250 - Set LCD contrast: "M250 C<contrast>" (0-63). (Requires LCD support) |  * M250 - Set LCD contrast: "M250 C<contrast>" (0-63). (Requires LCD support) | ||||||
|  |  * M260 - i2c Send Data (Requires EXPERIMENTAL_I2CBUS) | ||||||
|  |  * M261 - i2c Request Data (Requires EXPERIMENTAL_I2CBUS) | ||||||
|  * M280 - Set servo position absolute: "M280 P<index> S<angle|µs>". (Requires servos) |  * M280 - Set servo position absolute: "M280 P<index> S<angle|µs>". (Requires servos) | ||||||
|  * M300 - Play beep sound S<frequency Hz> P<duration ms> |  * M300 - Play beep sound S<frequency Hz> P<duration ms> | ||||||
|  * M301 - Set PID parameters P I and D. (Requires PIDTEMP) |  * M301 - Set PID parameters P I and D. (Requires PIDTEMP) | ||||||
| @ -5783,59 +5785,6 @@ inline void gcode_M121() { endstops.enable_globally(false); } | |||||||
| 
 | 
 | ||||||
| #endif // BLINKM
 | #endif // BLINKM
 | ||||||
| 
 | 
 | ||||||
| #if ENABLED(EXPERIMENTAL_I2CBUS) |  | ||||||
| 
 |  | ||||||
|   /**
 |  | ||||||
|    * M155: Send data to a I2C slave device |  | ||||||
|    * |  | ||||||
|    * This is a PoC, the formating and arguments for the GCODE will |  | ||||||
|    * change to be more compatible, the current proposal is: |  | ||||||
|    * |  | ||||||
|    *  M155 A<slave device address base 10> ; Sets the I2C slave address the data will be sent to |  | ||||||
|    * |  | ||||||
|    *  M155 B<byte-1 value in base 10> |  | ||||||
|    *  M155 B<byte-2 value in base 10> |  | ||||||
|    *  M155 B<byte-3 value in base 10> |  | ||||||
|    * |  | ||||||
|    *  M155 S1 ; Send the buffered data and reset the buffer |  | ||||||
|    *  M155 R1 ; Reset the buffer without sending data |  | ||||||
|    * |  | ||||||
|    */ |  | ||||||
|   inline void gcode_M155() { |  | ||||||
|     // Set the target address
 |  | ||||||
|     if (code_seen('A')) i2c.address(code_value_byte()); |  | ||||||
| 
 |  | ||||||
|     // Add a new byte to the buffer
 |  | ||||||
|     if (code_seen('B')) i2c.addbyte(code_value_byte()); |  | ||||||
| 
 |  | ||||||
|     // Flush the buffer to the bus
 |  | ||||||
|     if (code_seen('S')) i2c.send(); |  | ||||||
| 
 |  | ||||||
|     // Reset and rewind the buffer
 |  | ||||||
|     else if (code_seen('R')) i2c.reset(); |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   /**
 |  | ||||||
|    * M156: Request X bytes from I2C slave device |  | ||||||
|    * |  | ||||||
|    * Usage: M156 A<slave device address base 10> B<number of bytes> |  | ||||||
|    */ |  | ||||||
|   inline void gcode_M156() { |  | ||||||
|     if (code_seen('A')) i2c.address(code_value_byte()); |  | ||||||
| 
 |  | ||||||
|     uint8_t bytes = code_seen('B') ? code_value_byte() : 1; |  | ||||||
| 
 |  | ||||||
|     if (i2c.addr && bytes && bytes <= TWIBUS_BUFFER_SIZE) { |  | ||||||
|       i2c.relay(bytes); |  | ||||||
|     } |  | ||||||
|     else { |  | ||||||
|       SERIAL_ERROR_START; |  | ||||||
|       SERIAL_ERRORLN("Bad i2c request"); |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
| #endif // EXPERIMENTAL_I2CBUS
 |  | ||||||
| 
 |  | ||||||
| /**
 | /**
 | ||||||
|  * M200: Set filament diameter and set E axis units to cubic units |  * M200: Set filament diameter and set E axis units to cubic units | ||||||
|  * |  * | ||||||
| @ -6182,6 +6131,59 @@ inline void gcode_M226() { | |||||||
|   } // code_seen('P')
 |   } // code_seen('P')
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | #if ENABLED(EXPERIMENTAL_I2CBUS) | ||||||
|  | 
 | ||||||
|  |   /**
 | ||||||
|  |    * M260: Send data to a I2C slave device | ||||||
|  |    * | ||||||
|  |    * This is a PoC, the formating and arguments for the GCODE will | ||||||
|  |    * change to be more compatible, the current proposal is: | ||||||
|  |    * | ||||||
|  |    *  M260 A<slave device address base 10> ; Sets the I2C slave address the data will be sent to | ||||||
|  |    * | ||||||
|  |    *  M260 B<byte-1 value in base 10> | ||||||
|  |    *  M260 B<byte-2 value in base 10> | ||||||
|  |    *  M260 B<byte-3 value in base 10> | ||||||
|  |    * | ||||||
|  |    *  M260 S1 ; Send the buffered data and reset the buffer | ||||||
|  |    *  M260 R1 ; Reset the buffer without sending data | ||||||
|  |    * | ||||||
|  |    */ | ||||||
|  |   inline void gcode_M260() { | ||||||
|  |     // Set the target address
 | ||||||
|  |     if (code_seen('A')) i2c.address(code_value_byte()); | ||||||
|  | 
 | ||||||
|  |     // Add a new byte to the buffer
 | ||||||
|  |     if (code_seen('B')) i2c.addbyte(code_value_byte()); | ||||||
|  | 
 | ||||||
|  |     // Flush the buffer to the bus
 | ||||||
|  |     if (code_seen('S')) i2c.send(); | ||||||
|  | 
 | ||||||
|  |     // Reset and rewind the buffer
 | ||||||
|  |     else if (code_seen('R')) i2c.reset(); | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  |   /**
 | ||||||
|  |    * M261: Request X bytes from I2C slave device | ||||||
|  |    * | ||||||
|  |    * Usage: M261 A<slave device address base 10> B<number of bytes> | ||||||
|  |    */ | ||||||
|  |   inline void gcode_M261() { | ||||||
|  |     if (code_seen('A')) i2c.address(code_value_byte()); | ||||||
|  | 
 | ||||||
|  |     uint8_t bytes = code_seen('B') ? code_value_byte() : 1; | ||||||
|  | 
 | ||||||
|  |     if (i2c.addr && bytes && bytes <= TWIBUS_BUFFER_SIZE) { | ||||||
|  |       i2c.relay(bytes); | ||||||
|  |     } | ||||||
|  |     else { | ||||||
|  |       SERIAL_ERROR_START; | ||||||
|  |       SERIAL_ERRORLN("Bad i2c request"); | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | #endif // EXPERIMENTAL_I2CBUS
 | ||||||
|  | 
 | ||||||
| #if HAS_SERVOS | #if HAS_SERVOS | ||||||
| 
 | 
 | ||||||
|   /**
 |   /**
 | ||||||
| @ -7948,18 +7950,6 @@ void process_next_command() { | |||||||
| 
 | 
 | ||||||
|       #endif // BLINKM
 |       #endif // BLINKM
 | ||||||
| 
 | 
 | ||||||
|       #if ENABLED(EXPERIMENTAL_I2CBUS) |  | ||||||
| 
 |  | ||||||
|         case 155: // M155: Send data to an i2c slave
 |  | ||||||
|           gcode_M155(); |  | ||||||
|           break; |  | ||||||
| 
 |  | ||||||
|         case 156: // M156: Request data from an i2c slave
 |  | ||||||
|           gcode_M156(); |  | ||||||
|           break; |  | ||||||
| 
 |  | ||||||
|       #endif //EXPERIMENTAL_I2CBUS
 |  | ||||||
| 
 |  | ||||||
|       #if ENABLED(MIXING_EXTRUDER) |       #if ENABLED(MIXING_EXTRUDER) | ||||||
|         case 163: // M163: Set a component weight for mixing extruder
 |         case 163: // M163: Set a component weight for mixing extruder
 | ||||||
|           gcode_M163(); |           gcode_M163(); | ||||||
| @ -8082,6 +8072,18 @@ void process_next_command() { | |||||||
|           break; |           break; | ||||||
|       #endif // HAS_LCD_CONTRAST
 |       #endif // HAS_LCD_CONTRAST
 | ||||||
| 
 | 
 | ||||||
|  |       #if ENABLED(EXPERIMENTAL_I2CBUS) | ||||||
|  | 
 | ||||||
|  |         case 260: // M260: Send data to an i2c slave
 | ||||||
|  |           gcode_M260(); | ||||||
|  |           break; | ||||||
|  | 
 | ||||||
|  |         case 261: // M261: Request data from an i2c slave
 | ||||||
|  |           gcode_M261(); | ||||||
|  |           break; | ||||||
|  | 
 | ||||||
|  |       #endif // EXPERIMENTAL_I2CBUS
 | ||||||
|  | 
 | ||||||
|       #if ENABLED(PREVENT_COLD_EXTRUSION) |       #if ENABLED(PREVENT_COLD_EXTRUSION) | ||||||
|         case 302: // M302: Allow cold extrudes (set the minimum extrude temperature)
 |         case 302: // M302: Allow cold extrudes (set the minimum extrude temperature)
 | ||||||
|           gcode_M302(); |           gcode_M302(); | ||||||
|  | |||||||
| @ -808,22 +808,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -808,22 +808,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -808,22 +808,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -808,22 +808,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -814,22 +814,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -808,22 +808,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -808,22 +808,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -808,22 +808,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -816,22 +816,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -808,22 +808,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -810,22 +810,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -810,22 +810,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -810,22 +810,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -815,22 +815,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -810,22 +810,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -808,22 +808,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -808,22 +808,22 @@ | |||||||
|  * |  * | ||||||
|  * ; Example #1 |  * ; Example #1 | ||||||
|  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) |  * ; This macro send the string "Marlin" to the slave device with address 0x63 (99) | ||||||
|  * ; It uses multiple M155 commands with one B<base 10> arg |  * ; It uses multiple M260 commands with one B<base 10> arg | ||||||
|  * M155 A99  ; Target slave address |  * M260 A99  ; Target slave address | ||||||
|  * M155 B77  ; M |  * M260 B77  ; M | ||||||
|  * M155 B97  ; a |  * M260 B97  ; a | ||||||
|  * M155 B114 ; r |  * M260 B114 ; r | ||||||
|  * M155 B108 ; l |  * M260 B108 ; l | ||||||
|  * M155 B105 ; i |  * M260 B105 ; i | ||||||
|  * M155 B110 ; n |  * M260 B110 ; n | ||||||
|  * M155 S1   ; Send the current buffer |  * M260 S1   ; Send the current buffer | ||||||
|  * |  * | ||||||
|  * ; Example #2 |  * ; Example #2 | ||||||
|  * ; Request 6 bytes from slave device with address 0x63 (99) |  * ; Request 6 bytes from slave device with address 0x63 (99) | ||||||
|  * M156 A99 B5 |  * M261 A99 B5 | ||||||
|  * |  * | ||||||
|  * ; Example #3 |  * ; Example #3 | ||||||
|  * ; Example serial output of a M156 request |  * ; Example serial output of a M261 request | ||||||
|  * echo:i2c-reply: from:99 bytes:5 data:hello |  * echo:i2c-reply: from:99 bytes:5 data:hello | ||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -43,11 +43,11 @@ typedef void (*twiRequestFunc_t)(); | |||||||
|  * an experimental feature and it's inner workings as well as public facing |  * an experimental feature and it's inner workings as well as public facing | ||||||
|  * interface are prune to change in the future. |  * interface are prune to change in the future. | ||||||
|  * |  * | ||||||
|  * The two main consumers of this class are M155 and M156, where M155 allows |  * The two main consumers of this class are M260 and M261, where M260 allows | ||||||
|  * Marlin to send a I2C packet to a device (please be aware that no repeated |  * Marlin to send a I2C packet to a device (please be aware that no repeated | ||||||
|  * starts are possible), this can be done in caching method by calling multiple |  * starts are possible), this can be done in caching method by calling multiple | ||||||
|  * times M155 B<byte-1 value in base 10> or a one liner M155, have a look at |  * times M260 B<byte-1 value in base 10> or a one liner M260, have a look at | ||||||
|  * the gcode_M155() function for more information. M156 allows Marlin to |  * the gcode_M260() function for more information. M261 allows Marlin to | ||||||
|  * request data from a device, the received data is then relayed into the serial |  * request data from a device, the received data is then relayed into the serial | ||||||
|  * line for host interpretation. |  * line for host interpretation. | ||||||
|  * |  * | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user