# Specific to Raspberry Pi

- name: Install udev rule /etc/udev/rules.d/92-rtc-i2c.rules from template, to transfer hwclock to system clock at dev creation, if rtc_id is defined and rtc_id != "none" (root:root, 0644 by default)
  template:
    src: 92-rtc-i2c.rules
    dest: /etc/udev/rules.d/92-rtc-i2c.rules
  when: rtc_id is defined and rtc_id != "none"

# RTC requires a change to the device tree (and reboot)
- name: Enable i2c-rtc device (with "dtoverlay=i2c-rtc,{{ rtc_id }}=on" in /boot/config.txt, requires reboot!) if rtc_id is defined and rtc_id != "none" and is_raspbian
  lineinfile:
    path: /boot/config.txt
    line: "dtoverlay=i2c-rtc,{{ rtc_id }}=on"
    state: present
  when: rtc_id is defined and rtc_id != "none" and is_raspbian

- name: Enable i2c-rtc device (with "dtoverlay=i2c-rtc,{{ rtc_id }}=on" in /boot/firmware/config.txt, requires reboot!) if rtc_id is defined and rtc_id != "none" and is_ubuntu
  lineinfile:
    path: /boot/firmware/usercfg.txt
    line: "dtoverlay=i2c-rtc,{{ rtc_id }}=on"
    state: present
  when: rtc_id is defined and rtc_id != "none" and is_ubuntu    # CLARIF: Ubuntu runs increasingly well on RPi hardware, starting in 2020 especially


- name: 'Install packages: fake-hwclock, dphys-swapfile'
  package:
    name:
      - fake-hwclock      # 2021-03-15: Missing on Ubuntu etc.  RasPiOS installs this regardless -- to save/restore system clock on machines w/o working RTC (above).
      - dphys-swapfile    # 2021-03-15: Missing on Ubuntu etc.  RasPiOS installs this regardless -- to autogenerate and use a swap file (below).
    state: present

- name: Increase swap file size (to CONF_SWAPSIZE={{ pi_swap_file_size }} in /etc/dphys-swapfile) as kalite pip download fails
  lineinfile:
    path: /etc/dphys-swapfile
    regexp: "^CONF_SWAPSIZE"
    line: "CONF_SWAPSIZE={{ pi_swap_file_size }}"

- name: Restart swap service "dphys-swapfile"
  #command: /etc/init.d/dphys-swapfile restart
  systemd:    # Had been...a rare/legacy service that was NOT systemd
    name: dphys-swapfile
    state: restarted


#- name: Enable bluetooth in /boot/firmware/syscfg.txt on Ubuntu (needs reboot)
#  lineinfile:
#    path: /boot/firmware/syscfg.txt
#    regexp: '^include*'
#    line: 'include btcfg.txt'
#  when: is_ubuntu
