apiotics_factory 1.0.13 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/apiotics_factory/version.rb +1 -1
- data/lib/templates/grove_pi/grove_pi.rb +21 -5
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 9270010b9cb3c5341dcde31399a9a6d1dfd4ac97
         | 
| 4 | 
            +
              data.tar.gz: fcaac312ac73565c72a1ca2b24a7242cafa0c480
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: '025129626bfcbce7e4540a6b0bc406e0b618a7695415910e3b8e68425a7d150c32563a7a7a7c87bcb60fe8ff5450431193bf7a80c966fb1f8b0703dce352600e'
         | 
| 7 | 
            +
              data.tar.gz: 8a0e7978b0dd1b00ae997c40d0bf1d18dad8ddd712ab2235c58845fee42c08a8dddc9bcf003a4f60b230bba3b69c93f0b79ece41584edea0faf07c9239480aa7
         | 
| @@ -166,38 +166,42 @@ module GrovePi | |
| 166 166 | 
             
                  if @_i2c_grove_pi == nil
         | 
| 167 167 | 
             
                    raise 'No GrovePi found.'
         | 
| 168 168 | 
             
                  end
         | 
| 169 | 
            -
                   | 
| 170 | 
            -
                    raise "Unable to secure lock on #{LOCK_FILE_PATH}."
         | 
| 171 | 
            -
                  end
         | 
| 169 | 
            +
                  self.get_lock
         | 
| 172 170 | 
             
                end
         | 
| 173 171 | 
             
              end
         | 
| 174 172 |  | 
| 175 173 | 
             
              def self._set_pin_mode(pin, mode)
         | 
| 176 174 | 
             
                self._ensure_init
         | 
| 177 175 | 
             
                @_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_PIN_MODE, pin, mode, 0
         | 
| 176 | 
            +
                self.release_lock
         | 
| 178 177 | 
             
              end
         | 
| 179 178 |  | 
| 180 179 | 
             
              def self._read_analog(pin)
         | 
| 181 180 | 
             
                self._ensure_init
         | 
| 182 181 | 
             
                @_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_READ_ANALOG, pin, 0, 0
         | 
| 183 182 | 
             
                bytes = @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 3).chars
         | 
| 183 | 
            +
                self.release_lock
         | 
| 184 184 | 
             
                return (bytes[1].ord * 256) + bytes[2].ord
         | 
| 185 185 | 
             
              end
         | 
| 186 186 |  | 
| 187 187 | 
             
              def self._write_analog(pin, value)
         | 
| 188 188 | 
             
                self._ensure_init
         | 
| 189 189 | 
             
                @_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_WRITE_ANALOG, pin, value, 0
         | 
| 190 | 
            +
                self.release_lock
         | 
| 190 191 | 
             
              end
         | 
| 191 192 |  | 
| 192 193 | 
             
              def self._read_digital(pin)
         | 
| 193 194 | 
             
                self._ensure_init
         | 
| 194 195 | 
             
                @_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_READ_DIGITAL, pin, 0, 0
         | 
| 195 | 
            -
                 | 
| 196 | 
            +
                val = @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 2)
         | 
| 197 | 
            +
                self.release_lock
         | 
| 198 | 
            +
                return val.chars[0].ord
         | 
| 196 199 | 
             
              end
         | 
| 197 200 |  | 
| 198 201 | 
             
              def self._write_digital(pin, value)
         | 
| 199 202 | 
             
                self._ensure_init
         | 
| 200 203 | 
             
                @_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_WRITE_DIGITAL, pin, value, 0
         | 
| 204 | 
            +
                self.release_lock
         | 
| 201 205 | 
             
              end
         | 
| 202 206 |  | 
| 203 207 | 
             
              # Functions exposed to the user.
         | 
| @@ -289,7 +293,7 @@ module GrovePi | |
| 289 293 | 
             
                for b in _bytes
         | 
| 290 294 | 
             
                  bytes << b.ord
         | 
| 291 295 | 
             
                end
         | 
| 292 | 
            -
             | 
| 296 | 
            +
                release_lock
         | 
| 293 297 | 
             
                return bytes
         | 
| 294 298 | 
             
              end
         | 
| 295 299 |  | 
| @@ -306,6 +310,7 @@ module GrovePi | |
| 306 310 | 
             
                end
         | 
| 307 311 |  | 
| 308 312 | 
             
                @_i2c_slave_addresses[i2c_slave_address].i2cset i2c_slave_address, *data
         | 
| 313 | 
            +
                release_lock
         | 
| 309 314 | 
             
              end
         | 
| 310 315 |  | 
| 311 316 | 
             
              # Miscellaneous functions.
         | 
| @@ -315,6 +320,7 @@ module GrovePi | |
| 315 320 | 
             
                    self._ensure_init
         | 
| 316 321 | 
             
                    @_i2c_grove_pi.i2cset @_i2c_grove_pi.address, CMD_READ_FIRMWARE_VERSION, 0, 0, 0
         | 
| 317 322 | 
             
                    bytes = @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 4).chars
         | 
| 323 | 
            +
                    self.release_lock
         | 
| 318 324 | 
             
                    return [bytes[1].ord, bytes[2].ord, bytes[3].ord]
         | 
| 319 325 | 
             
                  rescue Errno::EREMOTEIO
         | 
| 320 326 | 
             
                    next
         | 
| @@ -340,6 +346,7 @@ module GrovePi | |
| 340 346 | 
             
                @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 1)
         | 
| 341 347 | 
             
                numbers = @_i2c_grove_pi.i2cget(@_i2c_grove_pi.address, 3).chars
         | 
| 342 348 |  | 
| 349 | 
            +
                self.release_lock
         | 
| 343 350 | 
             
                return (numbers[1].ord) * 256 + (numbers[2].ord)
         | 
| 344 351 | 
             
              end
         | 
| 345 352 |  | 
| @@ -384,6 +391,7 @@ module GrovePi | |
| 384 391 | 
             
                    end
         | 
| 385 392 | 
             
                  end
         | 
| 386 393 | 
             
                end
         | 
| 394 | 
            +
                self.release_lock
         | 
| 387 395 | 
             
              end
         | 
| 388 396 |  | 
| 389 397 |  | 
| @@ -395,6 +403,7 @@ module GrovePi | |
| 395 403 | 
             
              def self.fourDigit_init(pin)
         | 
| 396 404 | 
             
                self._ensure_init
         | 
| 397 405 | 
             
                @_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_INIT, pin, 0, 0)
         | 
| 406 | 
            +
                self.release_lock
         | 
| 398 407 | 
             
              end
         | 
| 399 408 |  | 
| 400 409 |  | 
| @@ -405,6 +414,7 @@ module GrovePi | |
| 405 414 | 
             
                self._ensure_init
         | 
| 406 415 | 
             
                @_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_DIGIT, pin, segment, value)
         | 
| 407 416 | 
             
                sleep(0.05)
         | 
| 417 | 
            +
                self.release_lock
         | 
| 408 418 | 
             
              end
         | 
| 409 419 |  | 
| 410 420 | 
             
              # Turn on entire display (88:88)
         | 
| @@ -412,6 +422,7 @@ module GrovePi | |
| 412 422 | 
             
                self._ensure_init
         | 
| 413 423 | 
             
                @_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_ON, pin, 0, 0)
         | 
| 414 424 | 
             
                sleep(0.05)
         | 
| 425 | 
            +
                self.release_lock
         | 
| 415 426 | 
             
              end
         | 
| 416 427 |  | 
| 417 428 | 
             
              # Display a decimal value without leading zeros
         | 
| @@ -427,6 +438,7 @@ module GrovePi | |
| 427 438 | 
             
                @_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_VALUE, pin, byte1, byte2)
         | 
| 428 439 |  | 
| 429 440 | 
             
                sleep(0.05)
         | 
| 441 | 
            +
                self.release_lock
         | 
| 430 442 | 
             
              end
         | 
| 431 443 |  | 
| 432 444 | 
             
              # Display a string
         | 
| @@ -456,6 +468,7 @@ module GrovePi | |
| 456 468 | 
             
                  i += 1
         | 
| 457 469 | 
             
                  sleep(0.05)
         | 
| 458 470 | 
             
                end
         | 
| 471 | 
            +
                self.release_lock
         | 
| 459 472 | 
             
              end
         | 
| 460 473 |  | 
| 461 474 | 
             
              # Set brightness of display
         | 
| @@ -464,6 +477,7 @@ module GrovePi | |
| 464 477 | 
             
                self._ensure_init
         | 
| 465 478 | 
             
                @_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_BRIGHTNESS, pin, brightness.to_i, 0)
         | 
| 466 479 | 
             
                sleep(0.05)
         | 
| 480 | 
            +
                self.release_lock
         | 
| 467 481 | 
             
              end
         | 
| 468 482 |  | 
| 469 483 |  | 
| @@ -476,6 +490,7 @@ module GrovePi | |
| 476 490 | 
             
                left = value/100
         | 
| 477 491 | 
             
                right = value % 100
         | 
| 478 492 | 
             
                @_i2c_grove_pi.i2cset(@_i2c_grove_pi.address, CMD_4DIG_CLOCK, pin, left, right)
         | 
| 493 | 
            +
                self.release_lock
         | 
| 479 494 | 
             
                return left, right
         | 
| 480 495 | 
             
              end 
         | 
| 481 496 |  | 
| @@ -497,6 +512,7 @@ module GrovePi | |
| 497 512 | 
             
                end
         | 
| 498 513 |  | 
| 499 514 | 
             
                @_i2c_slave_addresses[i2c_slave_address].i2cset *data
         | 
| 515 | 
            +
                self.release_lock
         | 
| 500 516 | 
             
              end
         | 
| 501 517 |  | 
| 502 518 | 
             
              # Set the color of the LCD RGB display
         |