Changeset 5771 for i2c-tools/trunk
- Timestamp:
- 09/17/09 17:59:38 (3 years ago)
- Location:
- i2c-tools/trunk
- Files:
-
- 3 modified
-
CHANGES (modified) (1 diff)
-
tools/i2cset.8 (modified) (2 diffs)
-
tools/i2cset.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
i2c-tools/trunk/CHANGES
r5746 r5771 15 15 decode-xeon: Delete 16 16 eepromer: Fix array initialization overrun 17 i2cset: Add support for short writes with PEC 17 18 i2c-stub-from-dump: Use udev settle to speed up initialization 18 19 -
i2c-tools/trunk/tools/i2cset.8
r5393 r5771 12 12 .I chip-address 13 13 .I data-address 14 .RI [ "value " [ "mode" ]] 14 .RI [ value ] 15 .RI [ mode ] 15 16 .br 16 17 .B i2cset … … 74 75 mode without PEC. The \fIvalue\fR provided must be within range for the 75 76 specified data type (0x00-0xFF for bytes, 0x0000-0xFFFF for words). 77 Another possible mode is \fBc\fP, which doesn't write any value (so-called 78 short write). You usually don't have to specify this mode, as it is the 79 default when no value is provided, unless you also want to enable PEC. 76 80 77 81 .SH WARNING -
i2c-tools/trunk/tools/i2cset.c
r5394 r5771 3 3 Copyright (C) 2001-2003 Frodo Looijaard <frodol@dds.nl>, and 4 4 Mark D. Studebaker <mdsxyz123@yahoo.com> 5 Copyright (C) 2004-200 8Jean Delvare <khali@linux-fr.org>5 Copyright (C) 2004-2009 Jean Delvare <khali@linux-fr.org> 6 6 7 7 This program is free software; you can redistribute it and/or modify … … 36 36 { 37 37 fprintf(stderr, 38 "Usage: i2cset [-f] [-y] [-m MASK] I2CBUS CHIP-ADDRESS DATA-ADDRESS [VALUE [MODE]]\n"38 "Usage: i2cset [-f] [-y] [-m MASK] I2CBUS CHIP-ADDRESS DATA-ADDRESS [VALUE] [MODE]\n" 39 39 " I2CBUS is an integer or an I2C bus name\n" 40 40 " ADDRESS is an integer (0x03 - 0x77)\n" 41 41 " MODE is one of:\n" 42 " b (byte, default)\n" 43 " w (word)\n" 42 " c (byte, no value)\n" 43 " b (byte data, default)\n" 44 " w (word data)\n" 44 45 " Append p for SMBus PEC\n"); 45 46 exit(1); … … 181 182 182 183 if (argc > flags + 4) { 183 size = I2C_SMBUS_BYTE_DATA; 184 value = strtol(argv[flags+4], &end, 0); 185 if (*end || value < 0) { 186 fprintf(stderr, "Error: Data value invalid!\n"); 187 help(); 184 if (!strcmp(argv[flags+4], "c") 185 || !strcmp(argv[flags+4], "cp")) { 186 size = I2C_SMBUS_BYTE; 187 value = -1; 188 pec = argv[flags+4][1] == 'p'; 189 } else { 190 size = I2C_SMBUS_BYTE_DATA; 191 value = strtol(argv[flags+4], &end, 0); 192 if (*end || value < 0) { 193 fprintf(stderr, "Error: Data value invalid!\n"); 194 help(); 195 } 188 196 } 189 197 } else {
