SYMBOL INDEX (1603 symbols across 146 files) FILE: pwnagotchi/__init__.py function set_name (line 14) | def set_name(new_name): function name (line 47) | def name(): function uptime (line 55) | def uptime(): function mem_usage (line 60) | def mem_usage(): function _cpu_stat (line 78) | def _cpu_stat(): function cpu_load (line 86) | def cpu_load(): function temperature (line 101) | def temperature(celsius=True): function shutdown (line 108) | def shutdown(): function restart (line 127) | def restart(mode): function reboot (line 139) | def reboot(mode=None): FILE: pwnagotchi/agent.py class Agent (line 22) | class Agent(Client, Automata, AsyncAdvertiser, AsyncTrainer): method __init__ (line 23) | def __init__(self, view, config, keypair): method config (line 57) | def config(self): method view (line 60) | def view(self): method supported_channels (line 63) | def supported_channels(self): method setup_events (line 66) | def setup_events(self): method _reset_wifi_settings (line 75) | def _reset_wifi_settings(self): method start_monitor_mode (line 84) | def start_monitor_mode(self): method _wait_bettercap (line 122) | def _wait_bettercap(self): method start (line 131) | def start(self): method recon (line 143) | def recon(self): method _filter_included (line 167) | def _filter_included(self, ap): method set_access_points (line 172) | def set_access_points(self, aps): method get_access_points (line 178) | def get_access_points(self): method get_total_aps (line 198) | def get_total_aps(self): method get_aps_on_channel (line 201) | def get_aps_on_channel(self): method get_current_channel (line 204) | def get_current_channel(self): method get_access_points_by_channel (line 207) | def get_access_points_by_channel(self): method _find_ap_sta_in (line 228) | def _find_ap_sta_in(self, station_mac, ap_mac, session): method _update_uptime (line 237) | def _update_uptime(self, s): method _update_counters (line 242) | def _update_counters(self): method _update_handshakes (line 255) | def _update_handshakes(self, new_shakes=0): method _update_peers (line 270) | def _update_peers(self): method _reboot (line 273) | def _reboot(self): method _save_recovery_data (line 278) | def _save_recovery_data(self): method _load_recovery_data (line 290) | def _load_recovery_data(self, delete=True, no_exceptions=True): method start_session_fetcher (line 309) | def start_session_fetcher(self): method _fetch_stats (line 313) | def _fetch_stats(self): method _on_event (line 323) | async def _on_event(self, msg): method _event_poller (line 354) | def _event_poller(self, loop): method start_event_polling (line 366) | def start_event_polling(self): method is_module_running (line 371) | def is_module_running(self, module): method start_module (line 378) | def start_module(self, module): method restart_module (line 381) | def restart_module(self, module): method _has_handshake (line 384) | def _has_handshake(self, bssid): method _should_interact (line 390) | def _should_interact(self, who): method associate (line 403) | def associate(self, ap, throttle=0): method deauth (line 424) | def deauth(self, ap, sta, throttle=0): method set_channel (line 445) | def set_channel(self, channel, verbose=True): FILE: pwnagotchi/ai/__init__.py function load (line 9) | def load(config, agent, epoch, from_disk=True): FILE: pwnagotchi/ai/epoch.py class Epoch (line 12) | class Epoch(object): method __init__ (line 13) | def __init__(self, config): method wait_for_epoch_data (line 69) | def wait_for_epoch_data(self, with_observation=True, timeout=None): method data (line 77) | def data(self): method observe (line 80) | def observe(self, aps, peers): method track (line 128) | def track(self, deauth=False, assoc=False, handshake=False, hop=False,... method next (line 157) | def next(self): FILE: pwnagotchi/ai/featurizer.py function describe (line 8) | def describe(extended=False): function featurize (line 40) | def featurize(state, step): FILE: pwnagotchi/ai/gym.py class Environment (line 11) | class Environment(gym.Env): method __init__ (line 30) | def __init__(self, agent, epoch): method policy_size (line 61) | def policy_size(): method policy_to_params (line 65) | def policy_to_params(policy): method _next_epoch (line 89) | def _next_epoch(self): method _apply_policy (line 93) | def _apply_policy(self, policy): method step (line 99) | def step(self, policy): method reset (line 116) | def reset(self): method _render_histogram (line 124) | def _render_histogram(self, hist): method render (line 129) | def render(self, mode='human', close=False, force=False): FILE: pwnagotchi/ai/parameter.py class Parameter (line 4) | class Parameter(object): method __init__ (line 5) | def __init__(self, name, value=0.0, min_value=0, max_value=2, meta=Non... method space_size (line 21) | def space_size(self): method space (line 24) | def space(self): method to_param_value (line 27) | def to_param_value(self, policy_v): FILE: pwnagotchi/ai/reward.py class RewardFunction (line 7) | class RewardFunction(object): method __call__ (line 8) | def __call__(self, epoch_n, state): FILE: pwnagotchi/ai/train.py class Stats (line 13) | class Stats(object): method __init__ (line 14) | def __init__(self, path, events_receiver): method on_epoch (line 30) | def on_epoch(self, data, training): method load (line 54) | def load(self): method save (line 65) | def save(self): class AsyncTrainer (line 86) | class AsyncTrainer(object): method __init__ (line 87) | def __init__(self, config): method set_training (line 95) | def set_training(self, training, for_epochs=0): method is_training (line 104) | def is_training(self): method training_epochs (line 107) | def training_epochs(self): method start_ai (line 110) | def start_ai(self): method _save_ai (line 113) | def _save_ai(self): method on_ai_step (line 119) | def on_ai_step(self): method on_ai_training_step (line 127) | def on_ai_training_step(self, _locals, _globals): method on_ai_policy (line 131) | def on_ai_policy(self, new_params): method on_ai_ready (line 147) | def on_ai_ready(self): method on_ai_best_reward (line 151) | def on_ai_best_reward(self, r): method on_ai_worst_reward (line 156) | def on_ai_worst_reward(self, r): method _ai_worker (line 161) | def _ai_worker(self): FILE: pwnagotchi/ai/utils.py function normalize (line 4) | def normalize(v, min_v, max_v): function as_batches (line 8) | def as_batches(x, y, batch_size, shuffle=True): FILE: pwnagotchi/automata.py class Automata (line 8) | class Automata(object): method __init__ (line 9) | def __init__(self, config, view): method _on_miss (line 14) | def _on_miss(self, who): method _on_error (line 19) | def _on_error(self, who, e): method set_starting (line 28) | def set_starting(self): method set_ready (line 31) | def set_ready(self): method in_good_mood (line 34) | def in_good_mood(self): method _has_support_network_for (line 37) | def _has_support_network_for(self, factor): method set_grateful (line 44) | def set_grateful(self): method set_lonely (line 48) | def set_lonely(self): method set_bored (line 57) | def set_bored(self): method set_sad (line 67) | def set_sad(self): method set_angry (line 77) | def set_angry(self, factor): method set_excited (line 86) | def set_excited(self): method set_rebooting (line 91) | def set_rebooting(self): method wait_for (line 95) | def wait_for(self, t, sleeping=True): method is_stale (line 100) | def is_stale(self): method any_activity (line 103) | def any_activity(self): method next_epoch (line 106) | def next_epoch(self): FILE: pwnagotchi/bettercap.py function decode (line 9) | def decode(r, verbose_errors=True): class Client (line 23) | class Client(object): method __init__ (line 24) | def __init__(self, hostname='localhost', scheme='http', port=8081, use... method session (line 34) | def session(self): method start_websocket (line 38) | async def start_websocket(self, consumer): method run (line 53) | def run(self, command, verbose_errors=True): FILE: pwnagotchi/fs/__init__.py function ensure_write (line 16) | def ensure_write(filename, mode='w'): function size_of (line 28) | def size_of(path): function is_mountpoint (line 39) | def is_mountpoint(path): function setup_mounts (line 46) | def setup_mounts(config): class MemoryFS (line 96) | class MemoryFS: method zram_install (line 98) | def zram_install(): method zram_dev (line 106) | def zram_dev(): method __init__ (line 111) | def __init__(self, mount, disk, size="40M", method _setup (line 126) | def _setup(self): method daemonize (line 146) | def daemonize(self, interval=60): method sync (line 153) | def sync(self, to_ram=False): method mount (line 167) | def mount(self): method umount (line 184) | def umount(self): FILE: pwnagotchi/grid.py function is_connected (line 13) | def is_connected(): function call (line 26) | def call(path, obj=None): function advertise (line 40) | def advertise(enabled=True): function set_advertisement_data (line 44) | def set_advertisement_data(data): function get_advertisement_data (line 48) | def get_advertisement_data(): function memory (line 52) | def memory(): function peers (line 56) | def peers(): function closest_peer (line 60) | def closest_peer(): function update_data (line 65) | def update_data(last_session): function report_ap (line 96) | def report_ap(essid, bssid): function inbox (line 109) | def inbox(page=1, with_pager=False): function inbox_message (line 114) | def inbox_message(id): function mark_message (line 118) | def mark_message(id, mark): function send_message (line 122) | def send_message(to, message): FILE: pwnagotchi/identity.py class KeyPair (line 12) | class KeyPair(object): method __init__ (line 13) | def __init__(self, path=DefaultPath, view=None): method sign (line 66) | def sign(self, message): FILE: pwnagotchi/log.py class LastSession (line 18) | class LastSession(object): method __init__ (line 29) | def __init__(self, config): method _get_last_saved_session_id (line 52) | def _get_last_saved_session_id(self): method save_session_id (line 61) | def save_session_id(self): method _parse_datetime (line 66) | def _parse_datetime(self, dt): method _parse_stats (line 72) | def _parse_stats(self): method parse (line 173) | def parse(self, ui, skip=False): method is_new (line 213) | def is_new(self): function setup_logging (line 217) | def setup_logging(args, config): function log_rotation (line 253) | def log_rotation(filename, cfg): function parse_max_size (line 270) | def parse_max_size(s): function do_rotate (line 289) | def do_rotate(filename, stats, cfg): FILE: pwnagotchi/mesh/peer.py function parse_rfc3339 (line 8) | def parse_rfc3339(dt): class Peer (line 14) | class Peer(object): method __init__ (line 15) | def __init__(self, obj): method update (line 37) | def update(self, new): method inactive_for (line 52) | def inactive_for(self): method first_encounter (line 55) | def first_encounter(self): method is_good_friend (line 58) | def is_good_friend(self, config): method face (line 61) | def face(self): method name (line 64) | def name(self): method identity (line 67) | def identity(self): method full_name (line 70) | def full_name(self): method version (line 73) | def version(self): method pwnd_run (line 76) | def pwnd_run(self): method pwnd_total (line 79) | def pwnd_total(self): method uptime (line 82) | def uptime(self): method epoch (line 85) | def epoch(self): method full_name (line 88) | def full_name(self): method is_closer (line 91) | def is_closer(self, other): FILE: pwnagotchi/mesh/utils.py class AsyncAdvertiser (line 13) | class AsyncAdvertiser(object): method __init__ (line 14) | def __init__(self, config, view, keypair): method fingerprint (line 32) | def fingerprint(self): method _update_advertisement (line 35) | def _update_advertisement(self, s): method start_advertising (line 42) | def start_advertising(self): method _on_face_change (line 52) | def _on_face_change(self, old, new): method cumulative_encounters (line 56) | def cumulative_encounters(self): method _on_new_peer (line 59) | def _on_new_peer(self, peer): method _on_lost_peer (line 64) | def _on_lost_peer(self, peer): method _adv_poller (line 69) | def _adv_poller(self): FILE: pwnagotchi/mesh/wifi.py function freq_to_channel (line 5) | def freq_to_channel(freq): FILE: pwnagotchi/plugins/__init__.py class Plugin (line 16) | class Plugin: method __init_subclass__ (line 18) | def __init_subclass__(cls, **kwargs): function toggle_plugin (line 34) | def toggle_plugin(name, enable=True): function on (line 73) | def on(event_name, *args, **kwargs): function locked_cb (line 78) | def locked_cb(lock_name, cb, *args, **kwargs): function one (line 88) | def one(plugin_name, event_name, *args, **kwargs): function load_from_file (line 105) | def load_from_file(filename): function load_from_path (line 114) | def load_from_path(path, enabled=()): function load (line 130) | def load(config): FILE: pwnagotchi/plugins/cmd.py function add_parsers (line 17) | def add_parsers(parser): function used_plugin_cmd (line 64) | def used_plugin_cmd(args): function handle_cmd (line 71) | def handle_cmd(args, config): function edit (line 98) | def edit(args, config): function enable (line 130) | def enable(args, config): function disable (line 141) | def disable(args, config): function upgrade (line 152) | def upgrade(args, config, pattern='*'): function list_plugins (line 187) | def list_plugins(args, config, pattern='*'): function _extract_version (line 249) | def _extract_version(filename): function _get_available (line 260) | def _get_available(): function _get_installed (line 271) | def _get_installed(config): function uninstall (line 285) | def uninstall(args, config): function install (line 298) | def install(args, config): function _analyse_dir (line 337) | def _analyse_dir(path): function update (line 350) | def update(config): FILE: pwnagotchi/plugins/default/auto-update.py function check (line 16) | def check(version, repo, native=True): function make_path_for (line 49) | def make_path_for(name): function download_and_unzip (line 58) | def download_and_unzip(name, path, display, update): function verify (line 73) | def verify(name, path, source_path, display, update): function install (line 99) | def install(display, update): function parse_version (line 134) | def parse_version(cmd): class AutoUpdate (line 143) | class AutoUpdate(plugins.Plugin): method __init__ (line 150) | def __init__(self): method on_loaded (line 155) | def on_loaded(self): method on_internet_available (line 162) | def on_internet_available(self, agent): FILE: pwnagotchi/plugins/default/bt-tether.py class BTError (line 16) | class BTError(Exception): class BTNap (line 23) | class BTNap: method __init__ (line 35) | def __init__(self, mac): method get_bus (line 39) | def get_bus(): method get_manager (line 49) | def get_manager(): method prop_get (line 61) | def prop_get(obj, k, iface=None): method prop_set (line 70) | def prop_set(obj, k, v, iface=None): method find_adapter (line 79) | def find_adapter(pattern=None): method find_adapter_in_objects (line 87) | def find_adapter_in_objects(objects, pattern=None): method find_device (line 103) | def find_device(device_address, adapter_pattern=None): method find_device_in_objects (line 111) | def find_device_in_objects(objects, device_address, adapter_pattern=No... method power (line 132) | def power(self, on=True): method is_paired (line 155) | def is_paired(self): method wait_for_device (line 174) | def wait_for_device(self, timeout=15): method pair (line 220) | def pair(device): method nap (line 235) | def nap(device): class SystemdUnitWrapper (line 260) | class SystemdUnitWrapper: method __init__ (line 265) | def __init__(self, unit): method _action_on_unit (line 269) | def _action_on_unit(action, unit): method daemon_reload (line 278) | def daemon_reload(): method is_active (line 289) | def is_active(self): method is_enabled (line 295) | def is_enabled(self): method is_failed (line 301) | def is_failed(self): method enable (line 307) | def enable(self): method disable (line 313) | def disable(self): method start (line 319) | def start(self): method stop (line 325) | def stop(self): method restart (line 331) | def restart(self): class IfaceWrapper (line 338) | class IfaceWrapper: method __init__ (line 345) | def __init__(self, iface): method exists (line 349) | def exists(self): method is_up (line 355) | def is_up(self): method set_addr (line 361) | def set_addr(self, addr): method set_route (line 375) | def set_route(gateway, device): class Device (line 386) | class Device: method __init__ (line 387) | def __init__(self, name, share_internet, mac, ip, netmask, interval, g... method connected (line 405) | def connected(self): method interface (line 411) | def interface(self): class BTTether (line 420) | class BTTether(plugins.Plugin): method __init__ (line 427) | def __init__(self): method on_loaded (line 436) | def on_loaded(self): method on_unload (line 578) | def on_unload(self, ui): method on_ui_setup (line 584) | def on_ui_setup(self, ui): method on_ui_update (line 590) | def on_ui_update(self, ui): FILE: pwnagotchi/plugins/default/example.py class Example (line 9) | class Example(plugins.Plugin): method __init__ (line 15) | def __init__(self): method on_webhook (line 21) | def on_webhook(self, path, request): method on_loaded (line 25) | def on_loaded(self): method on_unload (line 29) | def on_unload(self, ui): method on_internet_available (line 33) | def on_internet_available(self, agent): method on_ui_setup (line 37) | def on_ui_setup(self, ui): method on_ui_update (line 43) | def on_ui_update(self, ui): method on_display_setup (line 50) | def on_display_setup(self, display): method on_ready (line 54) | def on_ready(self, agent): method on_ai_ready (line 62) | def on_ai_ready(self, agent): method on_ai_policy (line 66) | def on_ai_policy(self, agent, policy): method on_ai_training_start (line 70) | def on_ai_training_start(self, agent, epochs): method on_ai_training_step (line 74) | def on_ai_training_step(self, agent, _locals, _globals): method on_ai_training_end (line 78) | def on_ai_training_end(self, agent): method on_ai_best_reward (line 82) | def on_ai_best_reward(self, agent, reward): method on_ai_worst_reward (line 86) | def on_ai_worst_reward(self, agent, reward): method on_free_channel (line 90) | def on_free_channel(self, agent, channel): method on_bored (line 94) | def on_bored(self, agent): method on_sad (line 98) | def on_sad(self, agent): method on_excited (line 102) | def on_excited(self, agent): method on_lonely (line 106) | def on_lonely(self, agent): method on_rebooting (line 110) | def on_rebooting(self, agent): method on_wait (line 114) | def on_wait(self, agent, t): method on_sleep (line 118) | def on_sleep(self, agent, t): method on_wifi_update (line 122) | def on_wifi_update(self, agent, access_points): method on_unfiltered_ap_list (line 127) | def on_unfiltered_ap_list(self, agent, access_points): method on_association (line 131) | def on_association(self, agent, access_point): method on_deauthentication (line 135) | def on_deauthentication(self, agent, access_point, client_station): method on_channel_hop (line 139) | def on_channel_hop(self, agent, channel): method on_handshake (line 144) | def on_handshake(self, agent, filename, access_point, client_station): method on_epoch (line 148) | def on_epoch(self, agent, epoch, epoch_data): method on_peer_detected (line 152) | def on_peer_detected(self, agent, peer): method on_peer_lost (line 156) | def on_peer_lost(self, agent, peer): FILE: pwnagotchi/plugins/default/gpio_buttons.py class GPIOButtons (line 7) | class GPIOButtons(plugins.Plugin): method __init__ (line 13) | def __init__(self): method runCommand (line 18) | def runCommand(self, channel): method on_loaded (line 25) | def on_loaded(self): FILE: pwnagotchi/plugins/default/gps.py class GPS (line 11) | class GPS(plugins.Plugin): method __init__ (line 20) | def __init__(self): method on_loaded (line 24) | def on_loaded(self): method on_ready (line 27) | def on_ready(self, agent): method on_handshake (line 46) | def on_handshake(self, agent, filename, access_point, client_station): method on_ui_setup (line 62) | def on_ui_setup(self, ui): method on_unload (line 147) | def on_unload(self, ui): method on_ui_update (line 153) | def on_ui_update(self, ui): FILE: pwnagotchi/plugins/default/grid.py function parse_pcap (line 13) | def parse_pcap(filename): class Grid (line 45) | class Grid(plugins.Plugin): method __init__ (line 52) | def __init__(self): method is_excluded (line 60) | def is_excluded(self, what): method on_loaded (line 68) | def on_loaded(self): method set_reported (line 71) | def set_reported(self, reported, net_id): method check_inbox (line 76) | def check_inbox(self, agent): method check_handshakes (line 87) | def check_handshakes(self, agent): method on_internet_available (line 124) | def on_internet_available(self, agent): FILE: pwnagotchi/plugins/default/led.py class Led (line 9) | class Led(plugins.Plugin): method __init__ (line 15) | def __init__(self): method on_loaded (line 23) | def on_loaded(self): method _on_event (line 31) | def _on_event(self, event): method _led (line 39) | def _led(self, on): method _blink (line 43) | def _blink(self, pattern): method _worker (line 54) | def _worker(self): method on_updating (line 73) | def on_updating(self): method on_unread_inbox (line 77) | def on_unread_inbox(self, num_unread): method on_internet_available (line 81) | def on_internet_available(self, agent): method on_ready (line 85) | def on_ready(self, agent): method on_ai_ready (line 89) | def on_ai_ready(self, agent): method on_ai_training_start (line 93) | def on_ai_training_start(self, agent, epochs): method on_ai_best_reward (line 97) | def on_ai_best_reward(self, agent, reward): method on_ai_worst_reward (line 101) | def on_ai_worst_reward(self, agent, reward): method on_bored (line 105) | def on_bored(self, agent): method on_sad (line 109) | def on_sad(self, agent): method on_excited (line 113) | def on_excited(self, agent): method on_lonely (line 117) | def on_lonely(self, agent): method on_rebooting (line 121) | def on_rebooting(self, agent): method on_wait (line 125) | def on_wait(self, agent, t): method on_sleep (line 129) | def on_sleep(self, agent, t): method on_wifi_update (line 133) | def on_wifi_update(self, agent, access_points): method on_association (line 137) | def on_association(self, agent, access_point): method on_deauthentication (line 141) | def on_deauthentication(self, agent, access_point, client_station): method on_handshake (line 146) | def on_handshake(self, agent, filename, access_point, client_station): method on_epoch (line 150) | def on_epoch(self, agent, epoch, epoch_data): method on_peer_detected (line 154) | def on_peer_detected(self, agent, peer): method on_peer_lost (line 158) | def on_peer_lost(self, agent, peer): FILE: pwnagotchi/plugins/default/logtail.py class Logtail (line 235) | class Logtail(plugins.Plugin): method __init__ (line 241) | def __init__(self): method on_config_changed (line 246) | def on_config_changed(self, config): method on_loaded (line 250) | def on_loaded(self): method on_webhook (line 257) | def on_webhook(self, path, request): FILE: pwnagotchi/plugins/default/memtemp.py class MemTemp (line 35) | class MemTemp(plugins.Plugin): method on_loaded (line 52) | def on_loaded(self): method mem_usage (line 55) | def mem_usage(self): method cpu_load (line 58) | def cpu_load(self): method cpu_temp (line 61) | def cpu_temp(self): method cpu_freq (line 74) | def cpu_freq(self): method pad_text (line 78) | def pad_text(self, data): method on_ui_setup (line 81) | def on_ui_setup(self, ui): method on_unload (line 167) | def on_unload(self, ui): method on_ui_update (line 177) | def on_ui_update(self, ui): FILE: pwnagotchi/plugins/default/net-pos.py class NetPos (line 11) | class NetPos(plugins.Plugin): method __init__ (line 22) | def __init__(self): method on_loaded (line 28) | def on_loaded(self): method _append_saved (line 38) | def _append_saved(self, path): method on_internet_available (line 51) | def on_internet_available(self, agent): method on_handshake (line 104) | def on_handshake(self, agent, filename, access_point, client_station): method _get_netpos (line 120) | def _get_netpos(self, agent): method _get_geo_data (line 130) | def _get_geo_data(self, path, timeout=30): FILE: pwnagotchi/plugins/default/onlinehashcrack.py class OnlineHashCrack (line 13) | class OnlineHashCrack(plugins.Plugin): method __init__ (line 19) | def __init__(self): method on_loaded (line 29) | def on_loaded(self): method _upload_to_ohc (line 44) | def _upload_to_ohc(self, path, timeout=30): method _download_cracked (line 63) | def _download_cracked(self, save_file, timeout=120): method on_webhook (line 82) | def on_webhook(self, path, request): method on_internet_available (line 91) | def on_internet_available(self, agent): FILE: pwnagotchi/plugins/default/paw-gps.py class PawGPS (line 11) | class PawGPS(plugins.Plugin): method on_loaded (line 18) | def on_loaded(self): method on_handshake (line 23) | def on_handshake(self, agent, filename, access_point, client_station): FILE: pwnagotchi/plugins/default/session-stats.py class GhettoClock (line 159) | class GhettoClock: method __init__ (line 160) | def __init__(self): method counter (line 167) | def counter(self): method now (line 173) | def now(self): class SessionStats (line 178) | class SessionStats(plugins.Plugin): method __init__ (line 184) | def __init__(self): method on_loaded (line 190) | def on_loaded(self): method on_epoch (line 203) | def on_epoch(self, agent, epoch, epoch_data): method extract_key_values (line 212) | def extract_key_values(data, subkeys): method on_webhook (line 221) | def on_webhook(self, path, request): FILE: pwnagotchi/plugins/default/switcher.py function systemd_dropin (line 9) | def systemd_dropin(name, content): function systemctl (line 21) | def systemctl(command, unit=None): function run_task (line 27) | def run_task(name, options): class Switcher (line 101) | class Switcher(plugins.Plugin): method __init__ (line 108) | def __init__(self): method trigger (line 112) | def trigger(self, name, *args, **kwargs): method on_loaded (line 124) | def on_loaded(self): FILE: pwnagotchi/plugins/default/ups_lite.py class UPS (line 25) | class UPS: method __init__ (line 26) | def __init__(self): method voltage (line 32) | def voltage(self): method capacity (line 41) | def capacity(self): method charging (line 50) | def charging(self): class UPSLite (line 59) | class UPSLite(plugins.Plugin): method __init__ (line 65) | def __init__(self): method on_loaded (line 68) | def on_loaded(self): method on_ui_setup (line 71) | def on_ui_setup(self, ui): method on_unload (line 75) | def on_unload(self, ui): method on_ui_update (line 79) | def on_ui_update(self, ui): FILE: pwnagotchi/plugins/default/watchdog.py class Watchdog (line 9) | class Watchdog(plugins.Plugin): method __init__ (line 15) | def __init__(self): method on_loaded (line 19) | def on_loaded(self): method on_epoch (line 25) | def on_epoch(self, agent, epoch, epoch_data): FILE: pwnagotchi/plugins/default/webcfg.py function serializer (line 460) | def serializer(obj): class WebConfig (line 465) | class WebConfig(plugins.Plugin): method __init__ (line 471) | def __init__(self): method on_config_changed (line 475) | def on_config_changed(self, config): method on_ready (line 479) | def on_ready(self, agent): method on_internet_available (line 482) | def on_internet_available(self, agent): method on_loaded (line 485) | def on_loaded(self): method on_webhook (line 492) | def on_webhook(self, path, request): FILE: pwnagotchi/plugins/default/webgpsmap.py class Webgpsmap (line 25) | class Webgpsmap(plugins.Plugin): method __init__ (line 35) | def __init__(self): method on_config_changed (line 38) | def on_config_changed(self, config): method on_loaded (line 42) | def on_loaded(self): method on_webhook (line 48) | def on_webhook(self, path, request): method _get_pos_from_file (line 149) | def _get_pos_from_file(self, path): method load_gps_from_dir (line 153) | def load_gps_from_dir(self, gpsdir, newest_only=False): method get_html (line 253) | def get_html(self): class PositionFile (line 265) | class PositionFile: method __init__ (line 273) | def __init__(self, path): method mac (line 284) | def mac(self): method ssid (line 294) | def ssid(self): method json (line 304) | def json(self): method timestamp_first (line 310) | def timestamp_first(self): method timestamp_last (line 317) | def timestamp_last(self): method password (line 333) | def password(self): method type (line 353) | def type(self): method lat (line 365) | def lat(self): method lng (line 386) | def lng(self): method accuracy (line 407) | def accuracy(self): FILE: pwnagotchi/plugins/default/wigle.py function _extract_gps_data (line 15) | def _extract_gps_data(path): function _format_auth (line 37) | def _format_auth(data): function _transform_wigle_entry (line 44) | def _transform_wigle_entry(gps_data, pcap_data, plugin_version): function _send_to_wigle (line 72) | def _send_to_wigle(lines, api_key, donate=True, timeout=30): class Wigle (line 101) | class Wigle(plugins.Plugin): method __init__ (line 107) | def __init__(self): method on_loaded (line 113) | def on_loaded(self): method on_internet_available (line 127) | def on_internet_available(self, agent): FILE: pwnagotchi/plugins/default/wpa-sec.py class WpaSec (line 11) | class WpaSec(plugins.Plugin): method __init__ (line 17) | def __init__(self): method _upload_to_wpasec (line 28) | def _upload_to_wpasec(self, path, timeout=30): method _download_from_wpasec (line 47) | def _download_from_wpasec(self, output, timeout=30): method on_loaded (line 69) | def on_loaded(self): method on_webhook (line 87) | def on_webhook(self, path, request): method on_internet_available (line 93) | def on_internet_available(self, agent): FILE: pwnagotchi/ui/components.py class Widget (line 5) | class Widget(object): method __init__ (line 6) | def __init__(self, xy, color=0): method draw (line 10) | def draw(self, canvas, drawer): class Bitmap (line 14) | class Bitmap(Widget): method __init__ (line 15) | def __init__(self, path, xy, color=0): method draw (line 19) | def draw(self, canvas, drawer): class Line (line 23) | class Line(Widget): method __init__ (line 24) | def __init__(self, xy, color=0, width=1): method draw (line 28) | def draw(self, canvas, drawer): class Rect (line 32) | class Rect(Widget): method draw (line 33) | def draw(self, canvas, drawer): class FilledRect (line 37) | class FilledRect(Widget): method draw (line 38) | def draw(self, canvas, drawer): class Text (line 42) | class Text(Widget): method __init__ (line 43) | def __init__(self, value="", position=(0, 0), font=None, color=0, wrap... method draw (line 51) | def draw(self, canvas, drawer): class LabeledValue (line 60) | class LabeledValue(Widget): method __init__ (line 61) | def __init__(self, label, value="", position=(0, 0), label_font=None, ... method draw (line 69) | def draw(self, canvas, drawer): FILE: pwnagotchi/ui/display.py class Display (line 10) | class Display(View): method __init__ (line 11) | def __init__(self, config, state={}): method is_inky (line 28) | def is_inky(self): method is_papirus (line 31) | def is_papirus(self): method is_waveshare_v1 (line 34) | def is_waveshare_v1(self): method is_waveshare_v2 (line 37) | def is_waveshare_v2(self): method is_waveshare_v3 (line 40) | def is_waveshare_v3(self): method is_waveshare27inch (line 43) | def is_waveshare27inch(self): method is_waveshare29inch (line 46) | def is_waveshare29inch(self): method is_oledhat (line 49) | def is_oledhat(self): method is_adafruitssd1306i2c (line 52) | def is_adafruitssd1306i2c(self): method is_lcdhat (line 55) | def is_lcdhat(self): method is_dfrobot_v1 (line 58) | def is_dfrobot_v1(self): method is_dfrobot_v2 (line 61) | def is_dfrobot_v2(self): method is_waveshare144lcd (line 64) | def is_waveshare144lcd(self): method is_waveshare154inch (line 67) | def is_waveshare154inch(self): method is_waveshare213d (line 70) | def is_waveshare213d(self): method is_waveshare213bc (line 73) | def is_waveshare213bc(self): method is_waveshare213inb_v4 (line 76) | def is_waveshare213inb_v4(self): method is_waveshare35lcd (line 79) | def is_waveshare35lcd(self): method is_spotpear24inch (line 82) | def is_spotpear24inch(self): method is_waveshare_any (line 85) | def is_waveshare_any(self): method init_display (line 88) | def init_display(self): method clear (line 96) | def clear(self): method image (line 99) | def image(self): method _render_thread (line 105) | def _render_thread(self): method _on_view_rendered (line 113) | def _on_view_rendered(self, img): FILE: pwnagotchi/ui/faces.py function load_from_config (line 27) | def load_from_config(config): FILE: pwnagotchi/ui/fonts.py function init (line 18) | def init(config): function status_font (line 25) | def status_font(old_font): function setup (line 30) | def setup(bold, bold_small, medium, huge, bold_big, small): FILE: pwnagotchi/ui/hw/__init__.py function display_for (line 21) | def display_for(config): FILE: pwnagotchi/ui/hw/adafruitssd1306i2c.py class AdafruitSSD1306i2c (line 7) | class AdafruitSSD1306i2c(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 34) | def initialize(self): method render (line 42) | def render(self, canvas): method clear (line 45) | def clear(self): FILE: pwnagotchi/ui/hw/base.py class DisplayImpl (line 4) | class DisplayImpl(object): method __init__ (line 5) | def __init__(self, config, name): method layout (line 30) | def layout(self): method initialize (line 33) | def initialize(self): method render (line 36) | def render(self, canvas): method clear (line 39) | def clear(self): FILE: pwnagotchi/ui/hw/dfrobot1.py class DFRobotV1 (line 6) | class DFRobotV1(DisplayImpl): method __init__ (line 7) | def __init__(self, config): method layout (line 11) | def layout(self): method initialize (line 33) | def initialize(self): method render (line 38) | def render(self, canvas): method clear (line 42) | def clear(self): FILE: pwnagotchi/ui/hw/dfrobot2.py class DFRobotV2 (line 6) | class DFRobotV2(DisplayImpl): method __init__ (line 7) | def __init__(self, config): method layout (line 11) | def layout(self): method initialize (line 33) | def initialize(self): method render (line 38) | def render(self, canvas): method clear (line 42) | def clear(self): FILE: pwnagotchi/ui/hw/inky.py class Inky (line 7) | class Inky(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 34) | def initialize(self): method render (line 56) | def render(self, canvas): method clear (line 87) | def clear(self): FILE: pwnagotchi/ui/hw/lcdhat.py class LcdHat (line 7) | class LcdHat(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 35) | def initialize(self): method render (line 42) | def render(self, canvas): method clear (line 45) | def clear(self): FILE: pwnagotchi/ui/hw/libs/adafruit/adafruitssd1306i2c/SSD1306.py class SSD1306Base (line 75) | class SSD1306Base(object): method __init__ (line 76) | def __init__(self, width, height, rst, i2c_bus=None, i2c_address=SSD13... method _initialize (line 94) | def _initialize(self): method write8 (line 97) | def write8(self, register, value): method command (line 102) | def command(self, c): method data (line 109) | def data(self, c): method begin (line 116) | def begin(self, vccstate=SSD1306_SWITCHCAPVCC): method reset (line 126) | def reset(self): method writeList (line 139) | def writeList(self, register, data): method display (line 143) | def display(self): method image (line 159) | def image(self, image): method clear (line 186) | def clear(self): method set_contrast (line 190) | def set_contrast(self, contrast): method dim (line 198) | def dim(self, dim): class SSD1306_128_64 (line 212) | class SSD1306_128_64(SSD1306Base): method __init__ (line 213) | def __init__(self, rst, i2c_bus=None, i2c_address=SSD1306_I2C_ADDRESS, method _initialize (line 218) | def _initialize(self): FILE: pwnagotchi/ui/hw/libs/adafruit/adafruitssd1306i2c/epd.py class EPD (line 7) | class EPD(object): method __init__ (line 9) | def __init__(self, rst=RST, i2c_bus=None, i2c_address=0x3c): method init (line 19) | def init(self): method Clear (line 22) | def Clear(self): method display (line 26) | def display(self, image): FILE: pwnagotchi/ui/hw/libs/dfrobot/v1/dfrobot.py class DFRobot (line 16) | class DFRobot: method __init__ (line 17) | def __init__(self): method getbuffer (line 24) | def getbuffer(self, image): method flush (line 51) | def flush(self, type): method display (line 54) | def display(self, buf): method clear (line 58) | def clear(self, color): FILE: pwnagotchi/ui/hw/libs/dfrobot/v1/dfrobot_epaper.py class DFRobot_Epaper (line 24) | class DFRobot_Epaper: method __init__ (line 32) | def __init__(self, width = 250, height = 122): method _busyCB (line 44) | def _busyCB(self, channel): method setBusyExitEdge (line 47) | def setBusyExitEdge(self, edge): method begin (line 52) | def begin(self): method setBuffer (line 57) | def setBuffer(self, buffer): method pixel (line 60) | def pixel(self, x, y, color): method _setWindow (line 80) | def _setWindow(self, x, y): method _initLut (line 87) | def _initLut(self, mode): method _setRamData (line 99) | def _setRamData(self, xStart, xEnd, yStart, yStart1, yEnd, yEnd1): method _setRamPointer (line 103) | def _setRamPointer(self, x, y, y1): method _init (line 107) | def _init(self): method _writeDisRam (line 117) | def _writeDisRam(self, sizeX, sizeY): method _updateDis (line 123) | def _updateDis(self, mode): method _waitBusyExit (line 133) | def _waitBusyExit(self): method _powerOn (line 141) | def _powerOn(self): method _powerOff (line 145) | def _powerOff(self): method _disPart (line 151) | def _disPart(self, xStart, xEnd, yStart, yEnd): method flush (line 157) | def flush(self, mode): method startDrawBitmapFile (line 170) | def startDrawBitmapFile(self, x, y): method bitmapFileHelper (line 174) | def bitmapFileHelper(self, buf): method endDrawBitmapFile (line 183) | def endDrawBitmapFile(self): class DFRobot_Epaper_SPI (line 186) | class DFRobot_Epaper_SPI(DFRobot_Epaper): method __init__ (line 188) | def __init__(self, bus, dev, cs, cd, busy): method writeCmdAndData (line 195) | def writeCmdAndData(self, cmd, data = []): method readBusy (line 204) | def readBusy(self): method setBusyCB (line 207) | def setBusyCB(self, cb): FILE: pwnagotchi/ui/hw/libs/dfrobot/v1/gpio.py class GPIO (line 9) | class GPIO: method __init__ (line 21) | def __init__(self, pin, mode, defaultOut = HIGH): method setOut (line 35) | def setOut(self, level): method _intCB (line 41) | def _intCB(self, status): method setInterrupt (line 53) | def setInterrupt(self, mode, cb): method read (line 60) | def read(self): method cleanup (line 63) | def cleanup(self): FILE: pwnagotchi/ui/hw/libs/dfrobot/v1/spi.py class SPI (line 5) | class SPI: method __init__ (line 12) | def __init__(self, bus, dev, speed = 3900000, mode = MODE_4): method transfer (line 18) | def transfer(self, buf): FILE: pwnagotchi/ui/hw/libs/dfrobot/v2/dfrobot.py class DFRobot (line 16) | class DFRobot: method __init__ (line 17) | def __init__(self): method getbuffer (line 24) | def getbuffer(self, image): method flush (line 51) | def flush(self, type): method display (line 54) | def display(self, buf): method clear (line 58) | def clear(self, color): FILE: pwnagotchi/ui/hw/libs/dfrobot/v2/dfrobot_display/dfrobot_display.py function color24to16 (line 8) | def color24to16(color): function color16to24 (line 11) | def color16to24(color): function swap (line 14) | def swap(o1, o2): class DFRobot_Display (line 17) | class DFRobot_Display(PrintString): method __init__ (line 83) | def __init__(self, w, h): method _ternaryExpression (line 103) | def _ternaryExpression(self, condition, o1, o2): method _getDirection (line 108) | def _getDirection(self, value): method color16to24 (line 113) | def color16to24(self, color): method color24to16 (line 116) | def color24to16(self, color): method setColorTo16 (line 119) | def setColorTo16(self): method setColorTo24 (line 137) | def setColorTo24(self): method setLineWidth (line 155) | def setLineWidth(self, w): method setTextFormat (line 160) | def setTextFormat(self, size, color, background, intervalRow = 2, inte... method setTextCursor (line 169) | def setTextCursor(self, x, y): method setBitmapSize (line 173) | def setBitmapSize(self, size): method setBitmapFmt (line 178) | def setBitmapFmt(self, fmt): method setExFonts (line 181) | def setExFonts(self, obj): method setExFontsFmt (line 184) | def setExFontsFmt(self, width, height): method setEnableDefaultFonts (line 187) | def setEnableDefaultFonts(self, opt): method pixel (line 190) | def pixel(self, x, y, color): method clear (line 193) | def clear(self, color): method VLine (line 198) | def VLine(self, x, y, h, color): method HLine (line 212) | def HLine(self, x, y, w, color): method line (line 225) | def line(self, x, y, x1, y1, color): method triangle (line 261) | def triangle(self, x, y, x1, y1, x2, y2, color): method fillTriangle (line 266) | def fillTriangle(self, x, y, x1, y1, x2, y2, color): method rect (line 333) | def rect(self, x, y, w, h, color): method fillRect (line 345) | def fillRect(self, x, y, w, h, color): method circleHelper (line 361) | def circleHelper(self, x, y, r, quadrant, color): method circle (line 401) | def circle(self, x, y, r, color): method fillCircleHelper (line 404) | def fillCircleHelper(self, x, y, r, quadrant, color): method fillCircle (line 446) | def fillCircle(self, x, y, r, color): method roundRect (line 449) | def roundRect(self, x, y, w, h, r, color): method fillRoundRect (line 470) | def fillRoundRect(self, x, y, w, h, r, color): method _bitmapHelper (line 490) | def _bitmapHelper(self, increaseAxis, staticAxis, data, dataBit, excha... method bitmap (line 509) | def bitmap(self, x, y, bitmap, w, h, color, background): method _bytesToNumber (line 556) | def _bytesToNumber(self, data): method _getQuads (line 564) | def _getQuads(self, data, count): method startDrawBitmapFile (line 575) | def startDrawBitmapFile(self, x, y): method bitmapFileHelper (line 578) | def bitmapFileHelper(self, buf): method endDrawBitmapFile (line 581) | def endDrawBitmapFile(self): method bitmapFile (line 584) | def bitmapFile(self, x, y, path): method writeOneChar (line 651) | def writeOneChar(self, c): FILE: pwnagotchi/ui/hw/libs/dfrobot/v2/dfrobot_display/dfrobot_fonts.py class Fonts (line 5) | class Fonts: method __init__ (line 7) | def __init__(self): method setFontsABC (line 20) | def setFontsABC(self, fonts): method setExFonts (line 30) | def setExFonts(self, obj): method setEnableDefaultFonts (line 35) | def setEnableDefaultFonts(self, opt): method setExFontsFmt (line 41) | def setExFontsFmt(self, width, height): method getOneCharacter (line 47) | def getOneCharacter(self, c): FILE: pwnagotchi/ui/hw/libs/dfrobot/v2/dfrobot_display/dfrobot_printString.py class PrintString (line 5) | class PrintString: method __init__ (line 7) | def __init__(self): method writeOneChar (line 10) | def writeOneChar(self, ch): method printStr (line 13) | def printStr(self, c): method printStrLn (line 23) | def printStrLn(self, c): FILE: pwnagotchi/ui/hw/libs/dfrobot/v2/dfrobot_epaper.py class DFRobot_Epaper (line 26) | class DFRobot_Epaper(DFRobot_Display): method __init__ (line 34) | def __init__(self, width = 250, height = 122): method _busyCB (line 50) | def _busyCB(self, channel): method setBusyExitEdge (line 53) | def setBusyExitEdge(self, edge): method begin (line 58) | def begin(self): method setBuffer (line 65) | def setBuffer(self, buffer): method pixel (line 68) | def pixel(self, x, y, color): method _initLut (line 88) | def _initLut(self, mode): method _setRamData (line 126) | def _setRamData(self, xStart, xEnd, yStart, yStart1, yEnd, yEnd1): method _setRamPointer (line 130) | def _setRamPointer(self, x, y, y1): method _init (line 134) | def _init(self,mode): method _writeDisRam (line 156) | def _writeDisRam(self, sizeX, sizeY): method _updateDis (line 165) | def _updateDis(self, mode): method _waitBusyExit (line 175) | def _waitBusyExit(self): method _powerOn (line 183) | def _powerOn(self): method _powerOff (line 187) | def _powerOff(self): method _disPart (line 191) | def _disPart(self, xStart, xEnd, yStart, yEnd): method flush (line 197) | def flush(self, mode): method startDrawBitmapFile (line 210) | def startDrawBitmapFile(self, x, y): method bitmapFileHelper (line 214) | def bitmapFileHelper(self, buf): method endDrawBitmapFile (line 223) | def endDrawBitmapFile(self): class DFRobot_Epaper_SPI (line 226) | class DFRobot_Epaper_SPI(DFRobot_Epaper): method __init__ (line 228) | def __init__(self, bus, dev, cs, cd, busy): method writeCmdAndData (line 235) | def writeCmdAndData(self, cmd, data = []): method readBusy (line 244) | def readBusy(self): method setBusyCB (line 247) | def setBusyCB(self, cb): method __del__ (line 249) | def __del__(self): FILE: pwnagotchi/ui/hw/libs/dfrobot/v2/display_extension/freetype_helper.py class Freetype_Helper (line 16) | class Freetype_Helper: method __init__ (line 18) | def __init__(self, filePath): method setFmt (line 24) | def setFmt(self, width, height): method setDisLowerLimite (line 29) | def setDisLowerLimite(self, limite): method getOne (line 32) | def getOne(self, ch): FILE: pwnagotchi/ui/hw/libs/dfrobot/v2/gpio.py class GPIO (line 9) | class GPIO: method __init__ (line 21) | def __init__(self, pin, mode, defaultOut = HIGH): method setOut (line 35) | def setOut(self, level): method _intCB (line 41) | def _intCB(self, status): method setInterrupt (line 53) | def setInterrupt(self, mode, cb): method read (line 60) | def read(self): method cleanup (line 63) | def cleanup(self): FILE: pwnagotchi/ui/hw/libs/dfrobot/v2/i2c.py class I2C (line 12) | class I2C: method __init__ (line 14) | def __init__(self, port): method writeBytes (line 17) | def writeBytes(self, addr, reg, buf): method readBytes (line 20) | def readBytes(self, addr, reg, length): FILE: pwnagotchi/ui/hw/libs/dfrobot/v2/spi.py class SPI (line 5) | class SPI: method __init__ (line 12) | def __init__(self, bus, dev, speed = 3900000, mode = MODE_4): method transfer (line 18) | def transfer(self, buf): FILE: pwnagotchi/ui/hw/libs/fb/fb.py function report_fb (line 32) | def report_fb(i=0, layer=0): function ready_fb (line 40) | def ready_fb(_bpp=None, i=0, layer=0, _win=None): function fill_scr (line 84) | def fill_scr(r,g,b): function black_scr (line 94) | def black_scr(): function white_scr (line 97) | def white_scr(): function mmseekto (line 100) | def mmseekto(x,y): function dot (line 103) | def dot(x, y, r, g, b): function get_pixel (line 107) | def get_pixel(x,y): function _888_to_565 (line 111) | def _888_to_565(bt): function numpy_888_565 (line 117) | def numpy_888_565(bt): function show_img (line 122) | def show_img(img): FILE: pwnagotchi/ui/hw/libs/inkyphat/inkyfast.py class InkyFast (line 4) | class InkyFast(Inky): method __init__ (line 6) | def __init__(self, resolution=(400, 300), colour='black', cs_pin=CS0_P... FILE: pwnagotchi/ui/hw/libs/inkyphat/inkyphatfast.py class InkyPHATFast (line 5) | class InkyPHATFast(inkyfast.InkyFast): method __init__ (line 16) | def __init__(self, colour): FILE: pwnagotchi/ui/hw/libs/papirus/epd.py function b (line 24) | def b(x): function b (line 27) | def b(x): class EPDError (line 30) | class EPDError(Exception): method __init__ (line 31) | def __init__(self, value): method __str__ (line 34) | def __str__(self): class EPD (line 38) | class EPD(object): method __init__ (line 57) | def __init__(self, *args, **kwargs): method size (line 103) | def size(self): method width (line 107) | def width(self): method height (line 111) | def height(self): method panel (line 115) | def panel(self): method version (line 119) | def version(self): method cog (line 123) | def cog(self): method film (line 127) | def film(self): method auto (line 131) | def auto(self): method auto (line 135) | def auto(self, flag): method rotation (line 142) | def rotation(self): method rotation (line 146) | def rotation(self, rot): method use_lm75b (line 154) | def use_lm75b(self): method use_lm75b (line 158) | def use_lm75b(self, flag): method error_status (line 164) | def error_status(self): method rotation_angle (line 168) | def rotation_angle(self, rotation): method display (line 172) | def display(self, image): method update (line 196) | def update(self): method partial_update (line 199) | def partial_update(self): method fast_update (line 202) | def fast_update(self): method clear (line 205) | def clear(self): method _command (line 208) | def _command(self, c): FILE: pwnagotchi/ui/hw/libs/papirus/lm75b.py class LM75B (line 20) | class LM75B(object): method __init__ (line 21) | def __init__(self, address=LM75B_ADDRESS, busnum=1): method getTempCFloat (line 26) | def getTempCFloat(self): method getTempFFloat (line 32) | def getTempFFloat(self): method getTempC (line 36) | def getTempC(self): FILE: pwnagotchi/ui/hw/libs/waveshare/lcdhat/ST7789.py class ST7789 (line 7) | class ST7789(object): method __init__ (line 10) | def __init__(self, spi, rst=27, dc=25, bl=24): method command (line 29) | def command(self, cmd): method data (line 33) | def data(self, val): method Init (line 37) | def Init(self): method reset (line 117) | def reset(self): method SetWindows (line 126) | def SetWindows(self, Xstart, Ystart, Xend, Yend): method ShowImage (line 143) | def ShowImage(self, Image, Xstart, Ystart): method clear (line 160) | def clear(self): FILE: pwnagotchi/ui/hw/libs/waveshare/lcdhat/epd.py class EPD (line 5) | class EPD(object): method __init__ (line 6) | def __init__(self): method init (line 13) | def init(self): method clear (line 16) | def clear(self): method display (line 19) | def display(self, image): FILE: pwnagotchi/ui/hw/libs/waveshare/lcdhat144/LCD_1in44.py class LCD (line 62) | class LCD: method __init__ (line 63) | def __init__(self): method LCD_Reset (line 72) | def LCD_Reset(self): method LCD_WriteReg (line 81) | def LCD_WriteReg(self, Reg): method LCD_WriteData_8bit (line 87) | def LCD_WriteData_8bit(self, Data): method LCD_WriteData_NLen16Bit (line 91) | def LCD_WriteData_NLen16Bit(self, Data, DataLen): method LCD_InitReg (line 98) | def LCD_InitReg(self): method LCD_SetGramScanWay (line 199) | def LCD_SetGramScanWay(self, Scan_dir): method LCD_Init (line 246) | def LCD_Init(self, Lcd_ScanDir): method LCD_SetWindows (line 279) | def LCD_SetWindows(self, Xstart, Ystart, Xend, Yend): method LCD_Clear (line 296) | def LCD_Clear(self): method LCD_ShowImage (line 304) | def LCD_ShowImage(self,Image,Xstart,Ystart): FILE: pwnagotchi/ui/hw/libs/waveshare/lcdhat144/config.py function epd_digital_write (line 54) | def epd_digital_write(pin, value): function Driver_Delay_ms (line 57) | def Driver_Delay_ms(xms): function SPI_Write_Byte (line 60) | def SPI_Write_Byte(data): function GPIO_Init (line 63) | def GPIO_Init(): FILE: pwnagotchi/ui/hw/libs/waveshare/lcdhat144/epd.py class EPD (line 15) | class EPD(object): method __init__ (line 16) | def __init__(self): method init (line 23) | def init(self): method clear (line 26) | def clear(self): method display (line 30) | def display(self, image): FILE: pwnagotchi/ui/hw/libs/waveshare/oledhat/SH1106.py class SH1106 (line 11) | class SH1106(object): method __init__ (line 12) | def __init__(self): method command (line 23) | def command(self, cmd): method Init (line 34) | def Init(self): method reset (line 67) | def reset(self): method getbuffer (line 76) | def getbuffer(self, image): method ShowImage (line 109) | def ShowImage(self, pBuf): method clear (line 131) | def clear(self): FILE: pwnagotchi/ui/hw/libs/waveshare/oledhat/config.py function digital_write (line 58) | def digital_write(pin, value): function digital_read (line 61) | def digital_read(pin): function delay_ms (line 64) | def delay_ms(delaytime): function spi_writebyte (line 67) | def spi_writebyte(data): function i2c_writebyte (line 71) | def i2c_writebyte(reg, value): function module_init (line 75) | def module_init(): function module_exit (line 101) | def module_exit(): FILE: pwnagotchi/ui/hw/libs/waveshare/oledhat/epd.py class EPD (line 10) | class EPD(object): method __init__ (line 12) | def __init__(self): method init (line 20) | def init(self): method Clear (line 23) | def Clear(self): method display (line 26) | def display(self, image): FILE: pwnagotchi/ui/hw/libs/waveshare/v1/epd2in13.py class EPD (line 38) | class EPD: method __init__ (line 39) | def __init__(self): method reset (line 62) | def reset(self): method send_command (line 72) | def send_command(self, command): method send_data (line 78) | def send_data(self, data): method ReadBusy (line 84) | def ReadBusy(self): method TurnOnDisplay (line 88) | def TurnOnDisplay(self): method init (line 98) | def init(self, lut): method SetWindows (line 138) | def SetWindows(self, x_start, y_start, x_end, y_end): method SetCursor (line 151) | def SetCursor(self, x, y): method getbuffer (line 160) | def getbuffer(self, image): method display (line 188) | def display(self, image): method Clear (line 202) | def Clear(self, color): method sleep (line 216) | def sleep(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v1/epd2in13bc.py class EPD (line 38) | class EPD: method __init__ (line 39) | def __init__(self): method reset (line 48) | def reset(self): method send_command (line 56) | def send_command(self, command): method send_data (line 62) | def send_data(self, data): method ReadBusy (line 68) | def ReadBusy(self): method init (line 73) | def init(self): method getbuffer (line 99) | def getbuffer(self, image): method displayBlack (line 119) | def displayBlack(self, imageblack): method display (line 128) | def display(self, imageblack, imagecolor): method Clear (line 142) | def Clear(self): method sleep (line 156) | def sleep(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v1/epd2in13bcFAST.py class EPD (line 51) | class EPD: method __init__ (line 52) | def __init__(self): method reset (line 166) | def reset(self): method send_command (line 174) | def send_command(self, command): method send_data (line 180) | def send_data(self, data): method ReadBusy (line 186) | def ReadBusy(self): method TurnOnDisplay (line 193) | def TurnOnDisplay(self): method init (line 198) | def init(self): method SetFullReg (line 235) | def SetFullReg(self): method SetPartReg (line 243) | def SetPartReg(self): method getbuffer (line 267) | def getbuffer(self, image): method display (line 291) | def display(self, image): method DisplayPartial (line 308) | def DisplayPartial(self, image): method Clear (line 336) | def Clear(self): method sleep (line 350) | def sleep(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v1/epdconfig.py class RaspberryPi (line 36) | class RaspberryPi: method __init__ (line 43) | def __init__(self): method digital_write (line 52) | def digital_write(self, pin, value): method digital_read (line 55) | def digital_read(self, pin): method delay_ms (line 58) | def delay_ms(self, delaytime): method spi_writebyte (line 61) | def spi_writebyte(self, data): method module_init (line 64) | def module_init(self): method module_exit (line 75) | def module_exit(self): class JetsonNano (line 86) | class JetsonNano: method __init__ (line 93) | def __init__(self): method digital_write (line 112) | def digital_write(self, pin, value): method digital_read (line 115) | def digital_read(self, pin): method delay_ms (line 118) | def delay_ms(self, delaytime): method spi_writebyte (line 121) | def spi_writebyte(self, data): method module_init (line 124) | def module_init(self): method module_exit (line 134) | def module_exit(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v154inch/epd1in54b.py class EPD (line 37) | class EPD: method __init__ (line 38) | def __init__(self): method reset (line 56) | def reset(self): method send_command (line 64) | def send_command(self, command): method send_data (line 70) | def send_data(self, data): method ReadBusy (line 76) | def ReadBusy(self): method set_lut_bw (line 82) | def set_lut_bw(self): method set_lut_red (line 99) | def set_lut_red(self): method init (line 110) | def init(self): method getbuffer (line 146) | def getbuffer(self, image): method display (line 164) | def display(self, blackimage, redimage): method Clear (line 189) | def Clear(self): method sleep (line 202) | def sleep(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v154inch/epdconfig.py class RaspberryPi (line 36) | class RaspberryPi: method __init__ (line 43) | def __init__(self): method digital_write (line 52) | def digital_write(self, pin, value): method digital_read (line 55) | def digital_read(self, pin): method delay_ms (line 58) | def delay_ms(self, delaytime): method spi_writebyte (line 61) | def spi_writebyte(self, data): method module_init (line 64) | def module_init(self): method module_exit (line 75) | def module_exit(self): class JetsonNano (line 86) | class JetsonNano: method __init__ (line 93) | def __init__(self): method digital_write (line 112) | def digital_write(self, pin, value): method digital_read (line 115) | def digital_read(self, pin): method delay_ms (line 118) | def delay_ms(self, delaytime): method spi_writebyte (line 121) | def spi_writebyte(self, data): method module_init (line 124) | def module_init(self): method module_exit (line 134) | def module_exit(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v2/waveshare.py function digital_write (line 63) | def digital_write(pin, value): function digital_read (line 67) | def digital_read(pin): function delay_ms (line 71) | def delay_ms(delaytime): function spi_writebyte (line 75) | def spi_writebyte(data): function module_init (line 79) | def module_init(): class EPD (line 96) | class EPD: method __init__ (line 97) | def __init__(self): method reset (line 143) | def reset(self): method send_command (line 151) | def send_command(self, command): method send_data (line 155) | def send_data(self, data): method wait_until_idle (line 159) | def wait_until_idle(self): method TurnOnDisplay (line 163) | def TurnOnDisplay(self): method init (line 169) | def init(self, update): method getbuffer (line 259) | def getbuffer(self, image): method display (line 288) | def display(self, image): method displayPartial (line 300) | def displayPartial(self, image): method Clear (line 316) | def Clear(self, color): method sleep (line 329) | def sleep(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v213bc/epd2in13bc.py class EPD (line 38) | class EPD: method __init__ (line 39) | def __init__(self): method reset (line 152) | def reset(self): method send_command (line 160) | def send_command(self, command): method send_data (line 166) | def send_data(self, data): method ReadBusy (line 172) | def ReadBusy(self): method TurnOnDisplay (line 178) | def TurnOnDisplay(self): method init (line 183) | def init(self): method SetFullReg (line 264) | def SetFullReg(self): method getbuffer (line 287) | def getbuffer(self, image): method display (line 311) | def display(self, imageblack, imagered): method pwndisplay (line 325) | def pwndisplay(self, imageblack): method Clear (line 343) | def Clear(self): method pwnclear (line 357) | def pwnclear(self): method sleep (line 371) | def sleep(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v213bc/epdconfig.py class RaspberryPi (line 36) | class RaspberryPi: method __init__ (line 43) | def __init__(self): method digital_write (line 52) | def digital_write(self, pin, value): method digital_read (line 55) | def digital_read(self, pin): method delay_ms (line 58) | def delay_ms(self, delaytime): method spi_writebyte (line 61) | def spi_writebyte(self, data): method module_init (line 64) | def module_init(self): method module_exit (line 75) | def module_exit(self): class JetsonNano (line 86) | class JetsonNano: method __init__ (line 93) | def __init__(self): method digital_write (line 112) | def digital_write(self, pin, value): method digital_read (line 115) | def digital_read(self, pin): method delay_ms (line 118) | def delay_ms(self, delaytime): method spi_writebyte (line 121) | def spi_writebyte(self, data): method module_init (line 124) | def module_init(self): method module_exit (line 134) | def module_exit(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v213d/epd2in13d.py class EPD (line 40) | class EPD: method __init__ (line 41) | def __init__(self): method reset (line 152) | def reset(self): method send_command (line 160) | def send_command(self, command): method send_data (line 166) | def send_data(self, data): method ReadBusy (line 172) | def ReadBusy(self): method TurnOnDisplay (line 179) | def TurnOnDisplay(self): method init (line 184) | def init(self): method SetFullReg (line 221) | def SetFullReg(self): method SetPartReg (line 243) | def SetPartReg(self): method getbuffer (line 265) | def getbuffer(self, image): method display (line 289) | def display(self, image): method DisplayPartial (line 306) | def DisplayPartial(self, image): method Clear (line 334) | def Clear(self): method sleep (line 348) | def sleep(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v213d/epdconfig.py class RaspberryPi (line 36) | class RaspberryPi: method __init__ (line 43) | def __init__(self): method digital_write (line 52) | def digital_write(self, pin, value): method digital_read (line 55) | def digital_read(self, pin): method delay_ms (line 58) | def delay_ms(self, delaytime): method spi_writebyte (line 61) | def spi_writebyte(self, data): method module_init (line 64) | def module_init(self): method module_exit (line 75) | def module_exit(self): class JetsonNano (line 86) | class JetsonNano: method __init__ (line 93) | def __init__(self): method digital_write (line 112) | def digital_write(self, pin, value): method digital_read (line 115) | def digital_read(self, pin): method delay_ms (line 118) | def delay_ms(self, delaytime): method spi_writebyte (line 121) | def spi_writebyte(self, data): method module_init (line 124) | def module_init(self): method module_exit (line 134) | def module_exit(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v213inb_v4/epd2in13b_V4.py class EPD (line 40) | class EPD: method __init__ (line 41) | def __init__(self): method reset (line 50) | def reset(self): method send_command (line 59) | def send_command(self, command): method send_data (line 66) | def send_data(self, data): method send_data2 (line 73) | def send_data2(self, data): method busy (line 80) | def busy(self): method set_windows (line 87) | def set_windows(self, xstart, ystart, xend, yend): method set_cursor (line 99) | def set_cursor(self, xstart, ystart): method init (line 108) | def init(self): method ondisplay (line 144) | def ondisplay(self): method getbuffer (line 149) | def getbuffer(self, image): method display (line 167) | def display(self, imageblack, imagered): method clear (line 177) | def clear(self): method Clear (line 194) | def Clear(self): method sleep (line 198) | def sleep(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v213inb_v4/epdconfig.py class RaspberryPi (line 38) | class RaspberryPi: method __init__ (line 45) | def __init__(self): method digital_write (line 52) | def digital_write(self, pin, value): method digital_read (line 55) | def digital_read(self, pin): method delay_ms (line 58) | def delay_ms(self, delaytime): method spi_writebyte (line 61) | def spi_writebyte(self, data): method spi_writebyte2 (line 64) | def spi_writebyte2(self, data): method module_init (line 67) | def module_init(self): method module_exit (line 81) | def module_exit(self): class JetsonNano (line 92) | class JetsonNano: method __init__ (line 99) | def __init__(self): method digital_write (line 118) | def digital_write(self, pin, value): method digital_read (line 121) | def digital_read(self, pin): method delay_ms (line 124) | def delay_ms(self, delaytime): method spi_writebyte (line 127) | def spi_writebyte(self, data): method spi_writebyte2 (line 130) | def spi_writebyte2(self, data): method module_init (line 134) | def module_init(self): method module_exit (line 144) | def module_exit(self): class SunriseX3 (line 155) | class SunriseX3: method __init__ (line 163) | def __init__(self): method digital_write (line 170) | def digital_write(self, pin, value): method digital_read (line 173) | def digital_read(self, pin): method delay_ms (line 176) | def delay_ms(self, delaytime): method spi_writebyte (line 179) | def spi_writebyte(self, data): method spi_writebyte2 (line 182) | def spi_writebyte2(self, data): method module_init (line 187) | def module_init(self): method module_exit (line 205) | def module_exit(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v27inch/epd2in7.py class EPD (line 41) | class EPD: method __init__ (line 42) | def __init__(self): method reset (line 153) | def reset(self): method send_command (line 161) | def send_command(self, command): method send_data (line 167) | def send_data(self, data): method ReadBusy (line 173) | def ReadBusy(self): method set_lut (line 179) | def set_lut(self): method gray_SetLut (line 196) | def gray_SetLut(self): method init (line 221) | def init(self): method Init_4Gray (line 291) | def Init_4Gray(self): method getbuffer (line 360) | def getbuffer(self, image): method getbuffer_4Gray (line 384) | def getbuffer_4Gray(self, image): method display (line 420) | def display(self, image): method display_4Gray (line 430) | def display_4Gray(self, image): method Clear (line 501) | def Clear(self, color): method sleep (line 511) | def sleep(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v27inch/epdconfig.py class RaspberryPi (line 36) | class RaspberryPi: method __init__ (line 43) | def __init__(self): method digital_write (line 52) | def digital_write(self, pin, value): method digital_read (line 55) | def digital_read(self, pin): method delay_ms (line 58) | def delay_ms(self, delaytime): method spi_writebyte (line 61) | def spi_writebyte(self, data): method module_init (line 64) | def module_init(self): method module_exit (line 75) | def module_exit(self): class JetsonNano (line 86) | class JetsonNano: method __init__ (line 93) | def __init__(self): method digital_write (line 112) | def digital_write(self, pin, value): method digital_read (line 115) | def digital_read(self, pin): method delay_ms (line 118) | def delay_ms(self, delaytime): method spi_writebyte (line 121) | def spi_writebyte(self, data): method module_init (line 124) | def module_init(self): method module_exit (line 134) | def module_exit(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v29inch/epd2in9.py class EPD (line 37) | class EPD: method __init__ (line 38) | def __init__(self): method reset (line 63) | def reset(self): method send_command (line 71) | def send_command(self, command): method send_data (line 77) | def send_data(self, data): method ReadBusy (line 83) | def ReadBusy(self): method TurnOnDisplay (line 87) | def TurnOnDisplay(self): method SetWindow (line 97) | def SetWindow(self, x_start, y_start, x_end, y_end): method SetCursor (line 108) | def SetCursor(self, x, y): method init (line 117) | def init(self, lut): method getbuffer (line 151) | def getbuffer(self, image): method display (line 175) | def display(self, image): method Clear (line 186) | def Clear(self, color): method sleep (line 195) | def sleep(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v29inch/epdconfig.py class RaspberryPi (line 36) | class RaspberryPi: method __init__ (line 43) | def __init__(self): method digital_write (line 52) | def digital_write(self, pin, value): method digital_read (line 55) | def digital_read(self, pin): method delay_ms (line 58) | def delay_ms(self, delaytime): method spi_writebyte (line 61) | def spi_writebyte(self, data): method module_init (line 64) | def module_init(self): method module_exit (line 75) | def module_exit(self): class JetsonNano (line 86) | class JetsonNano: method __init__ (line 93) | def __init__(self): method digital_write (line 112) | def digital_write(self, pin, value): method digital_read (line 115) | def digital_read(self, pin): method delay_ms (line 118) | def delay_ms(self, delaytime): method spi_writebyte (line 121) | def spi_writebyte(self, data): method module_init (line 124) | def module_init(self): method module_exit (line 134) | def module_exit(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v3/epd2in13_V3.py class EPD (line 41) | class EPD: method __init__ (line 42) | def __init__(self): method reset (line 98) | def reset(self): method send_command (line 111) | def send_command(self, command): method send_data (line 122) | def send_data(self, data): method ReadBusy (line 132) | def ReadBusy(self): method TurnOnDisplay (line 142) | def TurnOnDisplay(self): method TurnOnDisplayPart (line 152) | def TurnOnDisplayPart(self): method Lut (line 163) | def Lut(self, lut): method SetLut (line 174) | def SetLut(self, lut): method SetWindow (line 195) | def SetWindow(self, x_start, y_start, x_end, y_end): method SetCursor (line 213) | def SetCursor(self, x, y): method init (line 226) | def init(self): method getbuffer (line 267) | def getbuffer(self, image): method display (line 288) | def display(self, image): method displayPartial (line 305) | def displayPartial(self, image): method displayPartBaseImage (line 350) | def displayPartBaseImage(self, image): method Clear (line 371) | def Clear(self, color): method sleep (line 389) | def sleep(self): FILE: pwnagotchi/ui/hw/libs/waveshare/v3/epdconfig.py class RaspberryPi (line 36) | class RaspberryPi: method __init__ (line 43) | def __init__(self): method digital_write (line 52) | def digital_write(self, pin, value): method digital_read (line 55) | def digital_read(self, pin): method delay_ms (line 58) | def delay_ms(self, delaytime): method spi_writebyte (line 61) | def spi_writebyte(self, data): method module_init (line 64) | def module_init(self): method module_exit (line 75) | def module_exit(self): class JetsonNano (line 86) | class JetsonNano: method __init__ (line 93) | def __init__(self): method digital_write (line 112) | def digital_write(self, pin, value): method digital_read (line 115) | def digital_read(self, pin): method delay_ms (line 118) | def delay_ms(self, delaytime): method spi_writebyte (line 121) | def spi_writebyte(self, data): method module_init (line 124) | def module_init(self): method module_exit (line 134) | def module_exit(self): FILE: pwnagotchi/ui/hw/oledhat.py class OledHat (line 7) | class OledHat(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 34) | def initialize(self): method render (line 41) | def render(self, canvas): method clear (line 44) | def clear(self): FILE: pwnagotchi/ui/hw/papirus.py class Papirus (line 8) | class Papirus(DisplayImpl): method __init__ (line 9) | def __init__(self, config): method layout (line 13) | def layout(self): method initialize (line 35) | def initialize(self): method render (line 42) | def render(self, canvas): method clear (line 46) | def clear(self): FILE: pwnagotchi/ui/hw/spotpear24inch.py class Spotpear24inch (line 8) | class Spotpear24inch(DisplayImpl): method __init__ (line 9) | def __init__(self, config): method layout (line 13) | def layout(self): method refresh (line 36) | def refresh(self): method initialize (line 39) | def initialize(self): method render (line 46) | def render(self, canvas): method clear (line 50) | def clear(self): FILE: pwnagotchi/ui/hw/waveshare1.py class WaveshareV1 (line 7) | class WaveshareV1(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 55) | def initialize(self): method render (line 78) | def render(self, canvas): method clear (line 89) | def clear(self): FILE: pwnagotchi/ui/hw/waveshare144lcd.py class Waveshare144lcd (line 7) | class Waveshare144lcd(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 34) | def initialize(self): method render (line 41) | def render(self, canvas): method clear (line 44) | def clear(self): FILE: pwnagotchi/ui/hw/waveshare154inch.py class Waveshare154inch (line 7) | class Waveshare154inch(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 34) | def initialize(self): method render (line 41) | def render(self, canvas): method clear (line 45) | def clear(self): FILE: pwnagotchi/ui/hw/waveshare2.py class WaveshareV2 (line 7) | class WaveshareV2(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 56) | def initialize(self): method render (line 64) | def render(self, canvas): method clear (line 68) | def clear(self): FILE: pwnagotchi/ui/hw/waveshare213bc.py class Waveshare213bc (line 7) | class Waveshare213bc(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 34) | def initialize(self): method render (line 41) | def render(self, canvas): method clear (line 45) | def clear(self): FILE: pwnagotchi/ui/hw/waveshare213d.py class Waveshare213d (line 7) | class Waveshare213d(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 34) | def initialize(self): method render (line 41) | def render(self, canvas): method clear (line 45) | def clear(self): FILE: pwnagotchi/ui/hw/waveshare213inb_v4.py class Waveshare213bV4 (line 7) | class Waveshare213bV4(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 56) | def initialize(self): method render (line 63) | def render(self, canvasBlack = None, canvasRed = None): method clear (line 70) | def clear(self): FILE: pwnagotchi/ui/hw/waveshare27inch.py class Waveshare27inch (line 7) | class Waveshare27inch(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 34) | def initialize(self): method render (line 41) | def render(self, canvas): method clear (line 45) | def clear(self): FILE: pwnagotchi/ui/hw/waveshare29inch.py class Waveshare29inch (line 7) | class Waveshare29inch(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 34) | def initialize(self): method render (line 42) | def render(self, canvas): method clear (line 46) | def clear(self): FILE: pwnagotchi/ui/hw/waveshare3.py class WaveshareV3 (line 7) | class WaveshareV3(DisplayImpl): method __init__ (line 8) | def __init__(self, config): method layout (line 12) | def layout(self): method initialize (line 35) | def initialize(self): method render (line 42) | def render(self, canvas): method clear (line 46) | def clear(self): FILE: pwnagotchi/ui/hw/waveshare35lcd.py class Waveshare35lcd (line 8) | class Waveshare35lcd(DisplayImpl): method __init__ (line 9) | def __init__(self, config): method layout (line 13) | def layout(self): method refresh (line 36) | def refresh(self): method initialize (line 39) | def initialize(self): method render (line 46) | def render(self, canvas): method clear (line 50) | def clear(self): FILE: pwnagotchi/ui/state.py class State (line 4) | class State(object): method __init__ (line 5) | def __init__(self, state={}): method add_element (line 11) | def add_element(self, key, elem): method has_element (line 15) | def has_element(self, key): method remove_element (line 18) | def remove_element(self, key): method add_listener (line 22) | def add_listener(self, key, cb): method items (line 26) | def items(self): method get (line 30) | def get(self, key): method reset (line 34) | def reset(self): method changes (line 38) | def changes(self, ignore=()): method has_changes (line 46) | def has_changes(self): method set (line 50) | def set(self, key, value): FILE: pwnagotchi/ui/view.py class View (line 24) | class View(object): method __init__ (line 25) | def __init__(self, config, impl, state=None): method set_agent (line 95) | def set_agent(self, agent): method has_element (line 98) | def has_element(self, key): method add_element (line 101) | def add_element(self, key, elem): method remove_element (line 104) | def remove_element(self, key): method width (line 107) | def width(self): method height (line 110) | def height(self): method on_state_change (line 113) | def on_state_change(self, key, cb): method on_render (line 116) | def on_render(self, cb): method _refresh_handler (line 120) | def _refresh_handler(self): method set (line 132) | def set(self, key, value): method get (line 135) | def get(self, key): method on_starting (line 138) | def on_starting(self): method on_ai_ready (line 143) | def on_ai_ready(self): method on_manual_mode (line 149) | def on_manual_mode(self, last_session): method is_normal (line 162) | def is_normal(self): method on_keys_generation (line 175) | def on_keys_generation(self): method on_normal (line 180) | def on_normal(self): method set_closest_peer (line 185) | def set_closest_peer(self, peer, num_total): method on_new_peer (line 214) | def on_new_peer(self, peer): method on_lost_peer (line 231) | def on_lost_peer(self, peer): method on_free_channel (line 236) | def on_free_channel(self, channel): method on_reading_logs (line 241) | def on_reading_logs(self, lines_so_far=0): method wait (line 246) | def wait(self, secs, sleeping=True): method on_shutdown (line 276) | def on_shutdown(self): method on_bored (line 282) | def on_bored(self): method on_sad (line 287) | def on_sad(self): method on_angry (line 292) | def on_angry(self): method on_motivated (line 297) | def on_motivated(self, reward): method on_demotivated (line 302) | def on_demotivated(self, reward): method on_excited (line 307) | def on_excited(self): method on_assoc (line 312) | def on_assoc(self, ap): method on_deauth (line 317) | def on_deauth(self, sta): method on_miss (line 322) | def on_miss(self, who): method on_grateful (line 327) | def on_grateful(self): method on_lonely (line 332) | def on_lonely(self): method on_handshakes (line 337) | def on_handshakes(self, new_shakes): method on_unread_messages (line 342) | def on_unread_messages(self, count, total): method on_uploading (line 348) | def on_uploading(self, to): method on_rebooting (line 353) | def on_rebooting(self): method on_custom (line 358) | def on_custom(self, text): method update (line 363) | def update(self, force=False, new_data={}): FILE: pwnagotchi/ui/web/__init__.py function update_frame (line 10) | def update_frame(img): FILE: pwnagotchi/ui/web/handler.py class Handler (line 27) | class Handler: method __init__ (line 28) | def __init__(self, config, agent, app): method _check_creds (line 57) | def _check_creds(self, u, p): method with_auth (line 62) | def with_auth(self, f): method index (line 73) | def index(self): method inbox (line 79) | def inbox(self): method inbox_profile (line 103) | def inbox_profile(self): method inbox_peers (line 119) | def inbox_peers(self): method show_message (line 134) | def show_message(self, id): method new_message (line 154) | def new_message(self): method send_message (line 158) | def send_message(self): method mark_message (line 173) | def mark_message(self, id, mark): method plugins (line 181) | def plugins(self, name, subpath): method shutdown (line 198) | def shutdown(self): method reboot (line 206) | def reboot(self): method restart (line 214) | def restart(self): method ui (line 226) | def ui(self): FILE: pwnagotchi/ui/web/server.py class Server (line 16) | class Server: method __init__ (line 17) | def __init__(self, agent, config): method _http_serve (line 30) | def _http_serve(self): FILE: pwnagotchi/ui/web/static/js/jquery.jqplot.js function Axis (line 537) | function Axis(name) { function Legend (line 873) | function Legend(options) { function Title (line 1105) | function Title(text) { function Series (line 1165) | function Series(options) { function Grid (line 1550) | function Grid() { function jqPlot (line 1742) | function jqPlot() { function drawLine (line 4688) | function drawLine(bx, by, ex, ey, opts) { function getSteps (line 5315) | function getSteps (d, f) { function computeSteps (line 5319) | function computeSteps (d1, d2) { function tanh (line 5324) | function tanh (x) { function computeConstrainedSmoothedData (line 5343) | function computeConstrainedSmoothedData (gd) { function computeHermiteSmoothedData (line 5463) | function computeHermiteSmoothedData (gd) { function postInit (line 5992) | function postInit(target, data, options) { function postPlotDraw (line 6006) | function postPlotDraw() { function highlight (line 6021) | function highlight (plot, sidx, pidx, points) { function unhighlight (line 6036) | function unhighlight (plot) { function handleMove (line 6048) | function handleMove(ev, gridpos, datapos, neighbor, plot) { function handleMouseDown (line 6069) | function handleMouseDown(ev, gridpos, datapos, neighbor, plot) { function handleMouseUp (line 6086) | function handleMouseUp(ev, gridpos, datapos, neighbor, plot) { function handleClick (line 6093) | function handleClick(ev, gridpos, datapos, neighbor, plot) { function handleRightClick (line 6104) | function handleRightClick(ev, gridpos, datapos, neighbor, plot) { function bestFormatString (line 7117) | function bestFormatString (interval) function bestConstrainedInterval (line 7167) | function bestConstrainedInterval(min, max, nttarget) { function bestInterval (line 7218) | function bestInterval(range, numberTicks) { function bestLinearInterval (line 7268) | function bestLinearInterval(range, scalefact) { function bestLinearComponents (line 7303) | function bestLinearComponents(range, scalefact) { function numericalOrder (line 8508) | function numericalOrder(a,b) { return a-b; } function clone (line 8776) | function clone(obj){ function merge (line 8790) | function merge(obj1, obj2) { function getLineheight (line 9178) | function getLineheight(el) { function writeWrappedText (line 9187) | function writeWrappedText (el, context, text, left, top, canvasWidth) { function _jqpToImage (line 9240) | function _jqpToImage(el, x_offset, y_offset) { function h1 (line 10655) | function h1(parsable, match) { function inArray (line 10833) | function inArray( elem, array ) { function get_type (line 10850) | function get_type(thing){ function pad (line 10921) | function pad(str, len, chr, leftJustify) { function thousand_separate (line 10927) | function thousand_separate(value) { function justify (line 10935) | function justify(value, prefix, leftJustify, minWidth, zeroPad, htmlSpac... function formatBaseX (line 10949) | function formatBaseX(value, base, prefix, leftJustify, minWidth, precisi... function formatString (line 10957) | function formatString(value, leftJustify, minWidth, precision, zeroPad, ... function _normalizeArguments (line 11281) | function _normalizeArguments( effect, options, speed, callback ) { function standardSpeed (line 11330) | function standardSpeed( speed ) { function run (line 11371) | function run( next ) { FILE: pwnagotchi/ui/web/static/js/jquery.mobile/jquery.mobile-1.4.5.js function focusable (line 121) | function focusable( element, isTabIndexNotNaN ) { function visible (line 142) | function visible( element ) { function reduce (line 184) | function reduce( elem, size, border, margin ) { function handlerProxy (line 1128) | function handlerProxy() { function handlerProxy (line 1164) | function handlerProxy() { function get_fragment (line 1650) | function get_fragment( url ) { function poll (line 1824) | function poll() { function propExists (line 1996) | function propExists( prop ) { function inlineSVG (line 2017) | function inlineSVG() { function transform3dTest (line 2037) | function transform3dTest() { function baseTagTest (line 2066) | function baseTagTest() { function cssPointerEventsTest (line 2090) | function cssPointerEventsTest() { function boundingRect (line 2109) | function boundingRect() { function fixedPosition (line 2129) | function fixedPosition() { function getNativeEvent (line 3358) | function getNativeEvent( event ) { function createVirtualEvent (line 3366) | function createVirtualEvent( event, eventType ) { function getVirtualBindingFlags (line 3416) | function getVirtualBindingFlags( element ) { function getClosestElementWithVirtualBinding (line 3435) | function getClosestElementWithVirtualBinding( element, eventType ) { function enableTouchBindings (line 3449) | function enableTouchBindings() { function disableTouchBindings (line 3453) | function disableTouchBindings() { function enableMouseBindings (line 3457) | function enableMouseBindings() { function disableMouseBindings (line 3467) | function disableMouseBindings() { function startResetTimer (line 3473) | function startResetTimer() { function clearResetTimer (line 3481) | function clearResetTimer() { function triggerVirtualEvent (line 3488) | function triggerVirtualEvent( eventType, event, flags ) { function mouseEventCallback (line 3502) | function mouseEventCallback( event ) { function handleTouchStart (line 3522) | function handleTouchStart( event ) { function handleScroll (line 3552) | function handleScroll( event ) { function handleTouchMove (line 3565) | function handleTouchMove( event ) { function handleTouchEnd (line 3587) | function handleTouchEnd( event ) { function hasVirtualBindings (line 3623) | function hasVirtualBindings( ele ) { function dummyMouseHandler (line 3637) | function dummyMouseHandler() {} function getSpecialEventObject (line 3639) | function getSpecialEventObject( eventType ) { function triggerCustomEvent (line 3843) | function triggerCustomEvent( obj, eventType, event, bubble ) { function trigger (line 3865) | function trigger( event, state ) { function clearTapTimer (line 3910) | function clearTapTimer() { function clearTapHandlers (line 3914) | function clearTapHandlers() { function clickHandler (line 3922) | function clickHandler( event ) { function handler (line 4279) | function handler() { function findClosestLink (line 5760) | function findClosestLink( ele ) { function noHiddenClass (line 7178) | function noHiddenClass( elements ) { function defaultAutodividersSelector (line 7663) | function defaultAutodividersSelector( elt ) { function getPopup (line 9080) | function getPopup() { function fitSegmentInsideSegment (line 10283) | function fitSegmentInsideSegment( windowSize, segmentSize, offset, desir... function getWindowCoordinates (line 10297) | function getWindowCoordinates( theWindow ) { function optionsToClasses (line 11848) | function optionsToClasses( options, existingClasses ) { function classNameToOptions (line 11905) | function classNameToOptions( classes ) { function camelCase2Hyphenated (line 11973) | function camelCase2Hyphenated( c ) { function getArrow (line 12837) | function getArrow() { function getNextTabId (line 14415) | function getNextTabId() { function isLocal (line 14419) | function isLocal( anchor ) { function constrain (line 14635) | function constrain() { function complete (line 14981) | function complete() { function show (line 14986) | function show() { function checkTilt (line 15261) | function checkTilt( e ) { function hideRenderingClass (line 15294) | function hideRenderingClass() { FILE: pwnagotchi/ui/web/static/js/jquery.timeago.js function substitute (line 96) | function substitute(stringOrFunction, number) { function refresh (line 183) | function refresh() { function prepareData (line 207) | function prepareData(element) { function inWords (line 221) | function inWords(date) { function distance (line 225) | function distance(date) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.BezierCurveRenderer.js function preInit (line 289) | function preInit(target, data, options) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.barRenderer.js function barPreInit (line 176) | function barPreInit(target, data, seriesDefaults, options) { function computeHighlightColors (line 279) | function computeHighlightColors (colors) { function getStart (line 295) | function getStart(sidx, didx, comp, plot, axis) { function postInit (line 675) | function postInit(target, data, options) { function postPlotDraw (line 689) | function postPlotDraw() { function highlight (line 705) | function highlight (plot, sidx, pidx, points) { function unhighlight (line 716) | function unhighlight (plot) { function handleMove (line 728) | function handleMove(ev, gridpos, datapos, neighbor, plot) { function handleMouseDown (line 750) | function handleMouseDown(ev, gridpos, datapos, neighbor, plot) { function handleMouseUp (line 767) | function handleMouseUp(ev, gridpos, datapos, neighbor, plot) { function handleClick (line 774) | function handleClick(ev, gridpos, datapos, neighbor, plot) { function handleRightClick (line 785) | function handleRightClick(ev, gridpos, datapos, neighbor, plot) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.bubbleRenderer.js function highlight (line 581) | function highlight (plot, sidx, pidx) { function unhighlight (line 611) | function unhighlight (plot) { function handleMove (line 624) | function handleMove(ev, gridpos, datapos, neighbor, plot) { function handleMouseDown (line 647) | function handleMouseDown(ev, gridpos, datapos, neighbor, plot) { function handleMouseUp (line 666) | function handleMouseUp(ev, gridpos, datapos, neighbor, plot) { function handleClick (line 673) | function handleClick(ev, gridpos, datapos, neighbor, plot) { function handleRightClick (line 686) | function handleRightClick(ev, gridpos, datapos, neighbor, plot) { function postPlotDraw (line 706) | function postPlotDraw() { function preInit (line 732) | function preInit(target, data, options) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.canvasOverlay.js function LineBase (line 89) | function LineBase() { function Rectangle (line 161) | function Rectangle(options) { function Line (line 198) | function Line(options) { function HorizontalLine (line 224) | function HorizontalLine(options) { function DashedHorizontalLine (line 258) | function DashedHorizontalLine(options) { function VerticalLine (line 289) | function VerticalLine(options) { function DashedVerticalLine (line 315) | function DashedVerticalLine(options) { function showTooltip (line 782) | function showTooltip(plot, obj, gridpos, datapos) { function isNearLine (line 842) | function isNearLine(point, lstart, lstop, width) { function isNearRectangle (line 860) | function isNearRectangle(point, lstart, lstop, width) { function handleMove (line 879) | function handleMove(ev, gridpos, datapos, neighbor, plot) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.ciParser.js function handleStrings (line 83) | function handleStrings(key, value) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.cursor.js function plotZoom (line 308) | function plotZoom(ev, gridpos, datapos, plot, cursor) { function plotReset (line 312) | function plotReset(ev, plot, cursor) { function updateTooltip (line 468) | function updateTooltip(gridpos, datapos, plot) { function moveLine (line 539) | function moveLine(gridpos, plot) { function getIntersectingPoints (line 585) | function getIntersectingPoints(plot, x, y) { function moveTooltip (line 613) | function moveTooltip(gridpos, plot) { function positionTooltip (line 660) | function positionTooltip(plot) { function handleClick (line 717) | function handleClick (ev, gridpos, datapos, neighbor, plot) { function handleDblClick (line 735) | function handleDblClick (ev, gridpos, datapos, neighbor, plot) { function handleMouseLeave (line 753) | function handleMouseLeave(ev, gridpos, datapos, neighbor, plot) { function handleMouseEnter (line 789) | function handleMouseEnter(ev, gridpos, datapos, neighbor, plot) { function handleMouseMove (line 812) | function handleMouseMove(ev, gridpos, datapos, neighbor, plot) { function getEventPosition (line 827) | function getEventPosition(ev) { function handleZoomMove (line 848) | function handleZoomMove(ev) { function handleMouseDown (line 893) | function handleMouseDown(ev, gridpos, datapos, neighbor, plot) { function handleMouseUp (line 942) | function handleMouseUp(ev) { function drawZoomBox (line 1002) | function drawZoomBox() { function addrow (line 1085) | function addrow(label, color, pad, idx) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.dateAxisRenderer.js function bestDateInterval (line 131) | function bestDateInterval(min, max, titarget) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.donutRenderer.js function doDraw (line 294) | function doDraw () { function preInit (line 630) | function preInit(target, data, options) { function postInit (line 657) | function postInit(target, data, options) { function postParseOptions (line 682) | function postParseOptions(options) { function highlight (line 689) | function highlight (plot, sidx, pidx) { function unhighlight (line 698) | function unhighlight (plot) { function handleMove (line 708) | function handleMove(ev, gridpos, datapos, neighbor, plot) { function handleMouseDown (line 729) | function handleMouseDown(ev, gridpos, datapos, neighbor, plot) { function handleMouseUp (line 746) | function handleMouseUp(ev, gridpos, datapos, neighbor, plot) { function handleClick (line 753) | function handleClick(ev, gridpos, datapos, neighbor, plot) { function handleRightClick (line 764) | function handleRightClick(ev, gridpos, datapos, neighbor, plot) { function postPlotDraw (line 782) | function postPlotDraw() { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.dragable.js function DragCanvas (line 57) | function DragCanvas() { function initDragPoint (line 104) | function initDragPoint(plot, neighbor) { function handleMove (line 128) | function handleMove(ev, gridpos, datapos, neighbor, plot) { function handleDown (line 178) | function handleDown(ev, gridpos, datapos, neighbor, plot) { function handleUp (line 201) | function handleUp(ev, gridpos, datapos, neighbor, plot) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.funnelRenderer.js function doDraw (line 272) | function doDraw () { function findleft (line 396) | function findleft (l) { function findright (line 404) | function findright (l) { function preInit (line 768) | function preInit(target, data, options) { function postInit (line 795) | function postInit(target, data, options) { function postParseOptions (line 809) | function postParseOptions(options) { function highlight (line 816) | function highlight (plot, sidx, pidx) { function unhighlight (line 825) | function unhighlight (plot) { function handleMove (line 835) | function handleMove(ev, gridpos, datapos, neighbor, plot) { function handleMouseDown (line 856) | function handleMouseDown(ev, gridpos, datapos, neighbor, plot) { function handleMouseUp (line 873) | function handleMouseUp(ev, gridpos, datapos, neighbor, plot) { function handleClick (line 880) | function handleClick(ev, gridpos, datapos, neighbor, plot) { function handleRightClick (line 891) | function handleRightClick(ev, gridpos, datapos, neighbor, plot) { function postPlotDraw (line 909) | function postPlotDraw() { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.highlighter.js function draw (line 213) | function draw(plot, neighbor) { function showTooltip (line 229) | function showTooltip(plot, series, neighbor) { function handleMove (line 399) | function handleMove(ev, gridpos, datapos, neighbor, plot) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.json2.js function f (line 164) | function f(n) { function quote (line 205) | function quote(string) { function str (line 223) | function str(key, holder) { function walk (line 406) | function walk(holder, key) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.logAxisRenderer.js function findCeil (line 170) | function findCeil (val) { function findFloor (line 175) | function findFloor(val) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.mekkoRenderer.js function preInit (line 411) | function preInit(target, data, options) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.meterGaugeRenderer.js function getnmt (line 304) | function getnmt(pos, interval, fact) { function preInit (line 980) | function preInit(target, data, options) { function postParseOptions (line 1013) | function postParseOptions(options) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.mobile.js function postInit (line 23) | function postInit(target, data, options){ FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.pieRenderer.js function calcRadiusAdjustment (line 266) | function calcRadiusAdjustment(ang) { function calcRPrime (line 270) | function calcRPrime(ang1, ang2, sliceMargin, fill, lineWidth) { function doDraw (line 329) | function doDraw (rad) { function preInit (line 771) | function preInit(target, data, options) { function postInit (line 797) | function postInit(target, data, options) { function postParseOptions (line 809) | function postParseOptions(options) { function highlight (line 816) | function highlight (plot, sidx, pidx) { function unhighlight (line 827) | function unhighlight (plot) { function handleMove (line 837) | function handleMove(ev, gridpos, datapos, neighbor, plot) { function handleMouseDown (line 858) | function handleMouseDown(ev, gridpos, datapos, neighbor, plot) { function handleMouseUp (line 875) | function handleMouseUp(ev, gridpos, datapos, neighbor, plot) { function handleClick (line 882) | function handleClick(ev, gridpos, datapos, neighbor, plot) { function handleRightClick (line 893) | function handleRightClick(ev, gridpos, datapos, neighbor, plot) { function postPlotDraw (line 911) | function postPlotDraw() { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.pyramidGridRenderer.js function drawLine (line 374) | function drawLine(bx, by, ex, ey, opts) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.pyramidRenderer.js function preInit (line 416) | function preInit(target, data, options) { function postPlotDraw (line 445) | function postPlotDraw() { function highlight (line 461) | function highlight (plot, sidx, pidx, points) { function unhighlight (line 477) | function unhighlight (plot) { function handleMove (line 489) | function handleMove(ev, gridpos, datapos, neighbor, plot) { FILE: pwnagotchi/ui/web/static/js/plugins/jqplot.trendline.js function addTrendlineLegend (line 95) | function addTrendlineLegend(series) { function parseTrendLineOptions (line 107) | function parseTrendLineOptions (target, data, seriesDefaults, options, p... function drawTrendline (line 117) | function drawTrendline(sctx, options) { function regression (line 131) | function regression(x, y, typ) { function linearRegression (line 175) | function linearRegression(X,Y) { function expRegression (line 181) | function expRegression(X,Y) { function fitData (line 191) | function fitData(data, typ) { FILE: pwnagotchi/ui/web/static/js/viewportHeight.js function updateViewportSize (line 5) | function updateViewportSize() { FILE: pwnagotchi/utils.py class DottedTomlEncoder (line 20) | class DottedTomlEncoder(TomlEncoder): method __init__ (line 25) | def __init__(self, _dict=dict): method dump_list (line 28) | def dump_list(self, v): method dump_sections (line 41) | def dump_sections(self, o, sup): function parse_version (line 66) | def parse_version(version): function remove_whitelisted (line 73) | def remove_whitelisted(list_of_handshakes, list_of_whitelisted_strings, ... function download_file (line 100) | def download_file(url, destination, chunk_size=128): function unzip (line 109) | def unzip(file, destination, strip_dirs=0): function merge_config (line 123) | def merge_config(user, default): function keys_to_str (line 132) | def keys_to_str(data): function save_config (line 151) | def save_config(config, target): function load_config (line 156) | def load_config(args): function secs_to_hhmmss (line 300) | def secs_to_hhmmss(secs): function total_unique_handshakes (line 306) | def total_unique_handshakes(path): function iface_channels (line 311) | def iface_channels(ifname): function led (line 321) | def led(on=True): function blink (line 326) | def blink(times=1, delay=0.3): class WifiInfo (line 335) | class WifiInfo(Enum): class FieldNotFoundError (line 346) | class FieldNotFoundError(Exception): function md5 (line 350) | def md5(fname): function extract_from_pcap (line 362) | def extract_from_pcap(path, fields): class StatusFile (line 444) | class StatusFile(object): method __init__ (line 445) | def __init__(self, path, data_format='raw'): method data_field_or (line 459) | def data_field_or(self, name, default=""): method newer_then_minutes (line 464) | def newer_then_minutes(self, minutes): method newer_then_hours (line 467) | def newer_then_hours(self, hours): method newer_then_days (line 470) | def newer_then_days(self, days): method update (line 473) | def update(self, data=None): FILE: pwnagotchi/voice.py class Voice (line 6) | class Voice: method __init__ (line 7) | def __init__(self, lang): method custom (line 17) | def custom(self, s): method default (line 20) | def default(self): method on_starting (line 23) | def on_starting(self): method on_ai_ready (line 29) | def on_ai_ready(self): method on_keys_generation (line 34) | def on_keys_generation(self): method on_normal (line 38) | def on_normal(self): method on_free_channel (line 43) | def on_free_channel(self, channel): method on_reading_logs (line 46) | def on_reading_logs(self, lines_so_far=0): method on_bored (line 52) | def on_bored(self): method on_motivated (line 57) | def on_motivated(self, reward): method on_demotivated (line 60) | def on_demotivated(self, reward): method on_sad (line 63) | def on_sad(self): method on_angry (line 70) | def on_angry(self): method on_excited (line 77) | def on_excited(self): method on_new_peer (line 85) | def on_new_peer(self, peer): method on_lost_peer (line 95) | def on_lost_peer(self, peer): method on_miss (line 100) | def on_miss(self, who): method on_grateful (line 106) | def on_grateful(self): method on_lonely (line 111) | def on_lonely(self): method on_napping (line 117) | def on_napping(self, secs): method on_shutdown (line 123) | def on_shutdown(self): method on_awakening (line 128) | def on_awakening(self): method on_waiting (line 131) | def on_waiting(self, secs): method on_assoc (line 137) | def on_assoc(self, ap): method on_deauth (line 145) | def on_deauth(self, sta): method on_handshakes (line 151) | def on_handshakes(self, new_shakes): method on_unread_messages (line 155) | def on_unread_messages(self, count, total): method on_rebooting (line 159) | def on_rebooting(self): method on_uploading (line 162) | def on_uploading(self, to): method on_last_session_data (line 165) | def on_last_session_data(self, last_session): method on_last_session_tweet (line 178) | def on_last_session_tweet(self, last_session): method hhmmss (line 186) | def hhmmss(self, count, fmt): FILE: scripts/preview.py class CustomDisplay (line 17) | class CustomDisplay(Display): method __init__ (line 19) | def __init__(self, config, state): method _http_serve (line 23) | def _http_serve(self): method _on_view_rendered (line 27) | def _on_view_rendered(self, img): method get_image (line 30) | def get_image(self): class DummyPeer (line 37) | class DummyPeer: method __init__ (line 39) | def __init__(self): method name (line 43) | def name(): method pwnd_run (line 47) | def pwnd_run(): method pwnd_total (line 51) | def pwnd_total(): method first_encounter (line 55) | def first_encounter(): method face (line 59) | def face(): function append_images (line 63) | def append_images(images, horizontal=True, xmargin=0, ymargin=0): function main (line 88) | def main(): FILE: setup.py function install_file (line 11) | def install_file(source_filename, dest_filename): function install_system_files (line 29) | def install_system_files(): function installer (line 42) | def installer(): function version (line 47) | def version(version_file):