def selectLayer(layer): layers = [False] * 20 layers[layer - 1] = True bpy.context.scene.layers = layers
E no código:
selectLayer(20)
Referência.
def selectLayer(layer): layers = [False] * 20 layers[layer - 1] = True bpy.context.scene.layers = layers
selectLayer(20)
from Xlib import X, display import time d = display.Display().screen().root.query_pointer()._data print ("x="+str(d["root_x"])) print ("y="+str(d["root_y"]))
Sugestão de ligação do display LCD |
# pyMailCheck.py - Loga no seu gmail e imprime o numero de emails nao lidos. # Coloque este arquivo na raiz do cartao SD da Galileo. import imaplib # Usado para conectar em um servidor IMAP4. obj = imaplib.IMAP4_SSL('imap.gmail.com', '993') # Conecta em um servidor IMAP4 com SSL, porta 993 obj.login('my_email_address@gmail.com','myPassword') # Identifica o usuário e senha do cliente obj.select() # Seleciona o 'INBOX' (parametro default) # Procura na caixa de email o charset no (None), criterio:"UnSeen" (nao visto). Retornara uma tupla, pega a segunda parte, # divide cada string em uma lista e retorna o tamanho desta lista: print len(obj.search(None,'UnSeen')[1][0].split())
/* Galileo Email Checker by: Jim Lindblom SparkFun Electronics date: January 7, 2013 license: Beerware. Please use, reuse, and modify this code. If you find it useful, you can buy me a beer when we meet. This code connects a Galileo to Ethernet. Then runs a Python script - https://gist.github.com/jimblom/8292444#file-pymailcheck-py - that lives on the Galileo's SD card to check how many unread emails you have. That number is displayed on an OpenSegment Shield - https://www.sparkfun.com/products/11846 - which is controlled over SPI. Editado para funcionar com uma shield LCD por Rodrigo Monteiro */ ///////////////////////////// // Inclusao de bibliotecas // //////////////////////////// //Biblioteca do LCD #include <LiquidCrystal.h> #include <SD.h> // Biblioteca SD para ler o arquivo temporario // onde o script em python armazena o contador de emails nao lidos. #include <Ethernet.h> // Biblioteca Ethernet // Inicializa a biblioteca com o numero dos pinos de interface LiquidCrystal lcd(A0, A1, A2,A3, A4, A5); //////////////////////////// // Definicoes de Ethernet // /////////////////////////// byte mac[] = {0x6A, 0x11, 0x1l, 0x30, 0x12, 0x34}; /////////////////////////// // Definicoes de pinagem // ////////////////////////// const int STAT_LED = 13; // The Galileo's status LED on pin 13 ///////////////////////////////////////////// // Variaveis globais de checagem de emails // ///////////////////////////////////////////// const int emailUpdateRate = 10000; // Taxa de update em ms (10 s) long emailLastMillis = 0; // Armazena o ultimo instante de checagem de email int emailCount = 0; // Armazena a ultima contagem de email // setup() inicializa o lcd, o SD card, e o Ethernet // Se bem sucedido, o led de status se ligara. void setup() { pinMode(STAT_LED, OUTPUT); digitalWrite(STAT_LED, LOW); Serial.begin(9600); // Monitor Serial para debug // Declara o numero de linhas e colunas do LCD: lcd.begin(16, 2); lcd.print("Emails nao lidos"); lcd.setCursor(1, 1); initSDCard(); // Inicializa a classe SD if (initEthernet() == 1) // Se a Ethernet conectar, acende o LED de status digitalWrite(STAT_LED, HIGH); else { // Se a conexao Ethernet falhar, imprima erro, loop infinito //SPIWriteString("----", 4); lcd.print("Erro de rede"); lcd.setCursor(1, 1); while (1) ; } } // loop() checa pelo contador de emails nao lidos a cada emailUpdateRate // mili segundos. Se o contador mudou, atualiza o display. void loop() { // Apenas cheque o email se passou emailUpdateRate ms if (millis() > emailLastMillis + emailUpdateRate) { emailLastMillis = millis(); // atualiza emailLastMillis // Obtem o contador de emails nao lidos e armazena em uma variavel temporaria int tempCount = getEmailCount(); Serial.print("Voce tem "); Serial.print(tempCount); Serial.println(" emails nao lidos."); if (tempCount != emailCount) // Se e um valor diferente, atualize { // Faca isso para evitar piscar o mesmo numero emailCount = tempCount; // atualize a variavel emailCount lcd.print(emailCount); // imprima o contador de nao lidos lcd.setCursor(1, 14); } } // Bit de protecao no caso de overrun de millis: if (millis() < emailLastMillis) emailLastMillis = 0; } // getEmailCount executa o script pyMail.py , e le a saida. // Ira retornar o valor impresso pelo script python. int getEmailCount() { int digits = 0; int temp[10]; int emailCnt = 0; // Envia uma chamada de sistema para executar o script python e rotear a // saida desse script para um arquivo. system("python /media/realroot/pyMailCheck.py > /media/realroot/emails"); File emailsFile = SD.open("emails"); // Abre email para leitura // le dos emails ate que se atinja o final ou uma nova linha while ((emailsFile.peek() != '\n') && (emailsFile.available())) temp[digits++] = emailsFile.read() - 48; // Converte de ASCII para um numero emailsFile.close(); // fecha o arquivo de email system("rm /media/realroot/emails"); // remove o arquivo de emails // Transforma um numero individual em um inteiro de digito simples for (int i=0; i<digits; i++) emailCnt += temp[i] * pow(10, digits - 1 - i); return emailCnt; } // initSDCard() inicia a classe SD void initSDCard() { SD.begin(); } uint8_t initEthernet() { if (Ethernet.begin(mac) == 0) return 0; else return 1; }
Verificador funcionando |