Re: [weewx-user] upgrade from 3.8.2 to 3.9.1 failure

2019-05-18 Thread Leon Shaner
Hey, Ian,

You can use "wee_debug --info > /var/tmp/wee_debug.txt 2>&1" to write a helpful 
file at /var/tmp/wee_debug.txt for attaching to an e-mail.

You may want to scan the output anyway, in case something important didn't get 
obfuscated.  It does a good job with passwords, but ya never know... 
software... bugs happen.  :-/

Regards,
\Leon
--
Leon Shaner :: Dearborn, Michigan (iPad Pro)

> On May 18, 2019, at 9:02 PM, Ian Prescott  wrote:
> 
> sorry
> the station is an Aercus 3080
> and I am trying to find the howto on posting the config file
> 
>> On Sun, 19 May 2019 at 10:40, Leon Shaner  wrote:
>> Logs too abbreviated, or at least I am not able to pick out which driver / 
>> weatherstation version of are running.  Please expound.
>> WMR200, WMR300, both have this issue.  Maybe others.
>> Which model is yours?
>> 
>> Regards,
>> \Leon
>> --
>> Leon Shaner :: Dearborn, Michigan (iPad Pro)
>> 
>>> On May 18, 2019, at 8:05 PM, Ian Prescott  wrote:
>>> 
>>> Hi
>>> I did an upgrade on my pi and by default weewx got upgraded as well.
>>> After a reboot the syslog shows the following.
>>> Any help would be appreciated.
>>> Thanks
>>> 
>>> 
>>> May 19 09:18:31 weatherpi systemd[1]: Starting LSB: weewx weather system...
>>> May 19 09:18:31 weatherpi weewx[2257]: engine: Initializing weewx version 
>>> 3.9.1
>>> May 19 09:18:31 weatherpi weewx[2257]: engine: Using Python 2.7.9 (default, 
>>> Sep 26 2018, 05:58:52) #012[GCC 4.9.2]
>>> May 19 09:18:31 weatherpi weewx[2257]: engine: Platform 
>>> Linux-4.14.78-v7+-armv7l-with-debian-8.0
>>> May 19 09:18:31 weatherpi weewx[2257]: engine: Locale is 'en_AU.UTF-8'
>>> May 19 09:18:31 weatherpi weewx[2257]: engine: pid file is 
>>> /var/run/weewx.pid
>>> May 19 09:18:31 weatherpi weewx[2247]: Starting weewx weather system: weewx.
>>> May 19 09:18:31 weatherpi systemd[1]: Started LSB: weewx weather system.
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Using configuration file 
>>> /etc/weewx/weewx.conf
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Debug is 1
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Initializing engine
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading station type 
>>> FineOffsetUSB (weewx.drivers.fousb)
>>> May 19 09:18:31 weatherpi weewx[2261]: fousb: driver version is 1.9
>>> May 19 09:18:31 weatherpi weewx[2261]: fousb: power cycling enabled for 
>>> port 4 on hub 001:004
>>> May 19 09:18:31 weatherpi weewx[2261]: fousb: polling mode is PERIODIC
>>> May 19 09:18:31 weatherpi weewx[2261]: fousb: polling interval is 60
>>> May 19 09:18:31 weatherpi weewx[2261]: fousb: found station on USB bus=001 
>>> device=006
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service 
>>> weewx.engine.StdTimeSynch
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service 
>>> weewx.engine.StdTimeSynch
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service 
>>> weewx.engine.StdConvert
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: StdConvert target unit is 0x1
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service 
>>> weewx.engine.StdConvert
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service 
>>> weewx.engine.StdCalibrate
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service 
>>> weewx.engine.StdCalibrate
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service 
>>> weewx.engine.StdQC
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service 
>>> weewx.engine.StdQC
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service 
>>> weewx.wxservices.StdWXCalculate
>>> May 19 09:18:31 weatherpi weewx[2261]: wxcalculate: The following values 
>>> will be calculated: barometer=prefer_hardware, windchill=prefer_hardware, 
>>> dewpoint=prefer_hardware, appTemp=prefer_hardware, 
>>> rainRate=prefer_hardware, windrun=prefer_hardware, 
>>> heatindex=prefer_hardware, maxSolarRad=prefer_hardware, 
>>> humidex=prefer_hardware, pressure=prefer_hardware, 
>>> inDewpoint=prefer_hardware, ET=prefer_hardware, altimeter=prefer_hardware, 
>>> cloudbase=prefer_hardware
>>> May 19 09:18:31 weatherpi weewx[2261]: wxcalculate: The following 
>>> algorithms will be used for calculations: altimeter=aaNOAA, maxSolarRad=RS
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service 
>>> weewx.wxservices.StdWXCalculate
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service 
>>> weewx.engine.StdArchive
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Archive will use data 
>>> binding wx_binding
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Record generation will be 
>>> attempted in 'software'
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Using archive interval of 
>>> 300 seconds (software record generation)
>>> May 19 09:18:31 weatherpi weewx[2261]: engine: Use LOOP data in hi/low 
>>> calculations: 1
>>> May 19 09:18:31 weatherpi weewx[2261]: manager: Daily summary version is 2.0
>>> May 

Re: [weewx-user] upgrade from 3.8.2 to 3.9.1 failure

2019-05-18 Thread Ian Prescott
sorry
the station is an Aercus 3080
and I am trying to find the howto on posting the config file

On Sun, 19 May 2019 at 10:40, Leon Shaner  wrote:

> Logs too abbreviated, or at least I am not able to pick out which driver /
> weatherstation version of are running.  Please expound.
> WMR200, WMR300, both have this issue.  Maybe others.
> Which model is yours?
>
> Regards,
> \Leon
> --
> Leon Shaner :: Dearborn, Michigan (iPad Pro)
>
> On May 18, 2019, at 8:05 PM, Ian Prescott  wrote:
>
> Hi
> I did an upgrade on my pi and by default weewx got upgraded as well.
> After a reboot the syslog shows the following.
> Any help would be appreciated.
> Thanks
>
>
> May 19 09:18:31 weatherpi systemd[1]: Starting LSB: weewx weather system...
> May 19 09:18:31 weatherpi weewx[2257]: engine: Initializing weewx version
> 3.9.1
> May 19 09:18:31 weatherpi weewx[2257]: engine: Using Python 2.7.9
> (default, Sep 26 2018, 05:58:52) #012[GCC 4.9.2]
> May 19 09:18:31 weatherpi weewx[2257]: engine: Platform
> Linux-4.14.78-v7+-armv7l-with-debian-8.0
> May 19 09:18:31 weatherpi weewx[2257]: engine: Locale is 'en_AU.UTF-8'
> May 19 09:18:31 weatherpi weewx[2257]: engine: pid file is
> /var/run/weewx.pid
> May 19 09:18:31 weatherpi weewx[2247]: Starting weewx weather system:
> weewx.
> May 19 09:18:31 weatherpi systemd[1]: Started LSB: weewx weather system.
> May 19 09:18:31 weatherpi weewx[2261]: engine: Using configuration file
> /etc/weewx/weewx.conf
> May 19 09:18:31 weatherpi weewx[2261]: engine: Debug is 1
> May 19 09:18:31 weatherpi weewx[2261]: engine: Initializing engine
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading station type
> FineOffsetUSB (weewx.drivers.fousb)
> May 19 09:18:31 weatherpi weewx[2261]: fousb: driver version is 1.9
> May 19 09:18:31 weatherpi weewx[2261]: fousb: power cycling enabled for
> port 4 on hub 001:004
> May 19 09:18:31 weatherpi weewx[2261]: fousb: polling mode is PERIODIC
> May 19 09:18:31 weatherpi weewx[2261]: fousb: polling interval is 60
> May 19 09:18:31 weatherpi weewx[2261]: fousb: found station on USB bus=001
> device=006
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service
> weewx.engine.StdTimeSynch
> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service
> weewx.engine.StdTimeSynch
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service
> weewx.engine.StdConvert
> May 19 09:18:31 weatherpi weewx[2261]: engine: StdConvert target unit is
> 0x1
> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service
> weewx.engine.StdConvert
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service
> weewx.engine.StdCalibrate
> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service
> weewx.engine.StdCalibrate
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service
> weewx.engine.StdQC
> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service
> weewx.engine.StdQC
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service
> weewx.wxservices.StdWXCalculate
> May 19 09:18:31 weatherpi weewx[2261]: wxcalculate: The following values
> will be calculated: barometer=prefer_hardware, windchill=prefer_hardware,
> dewpoint=prefer_hardware, appTemp=prefer_hardware,
> rainRate=prefer_hardware, windrun=prefer_hardware,
> heatindex=prefer_hardware, maxSolarRad=prefer_hardware,
> humidex=prefer_hardware, pressure=prefer_hardware,
> inDewpoint=prefer_hardware, ET=prefer_hardware, altimeter=prefer_hardware,
> cloudbase=prefer_hardware
> May 19 09:18:31 weatherpi weewx[2261]: wxcalculate: The following
> algorithms will be used for calculations: altimeter=aaNOAA, maxSolarRad=RS
> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service
> weewx.wxservices.StdWXCalculate
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service
> weewx.engine.StdArchive
> May 19 09:18:31 weatherpi weewx[2261]: engine: Archive will use data
> binding wx_binding
> May 19 09:18:31 weatherpi weewx[2261]: engine: Record generation will be
> attempted in 'software'
> May 19 09:18:31 weatherpi weewx[2261]: engine: Using archive interval of
> 300 seconds (software record generation)
> May 19 09:18:31 weatherpi weewx[2261]: engine: Use LOOP data in hi/low
> calculations: 1
> May 19 09:18:31 weatherpi weewx[2261]: manager: Daily summary version is
> 2.0
> May 19 09:18:31 weatherpi weewx[2261]: engine: Using binding 'wx_binding'
> to database 'weewx.sdb'
> May 19 09:18:31 weatherpi weewx[2261]: manager: Starting backfill of daily
> summaries
> May 19 09:18:32 weatherpi weewx[2261]: engine: Caught unrecoverable
> exception in engine:
> May 19 09:18:32 weatherpi weewx[2261]:   Non-positive value for
> record field 'interval': 0
> May 19 09:18:32 weatherpi weewx[2261]:   Traceback (most recent
> call last):
> May 19 09:18:32 weatherpi weewx[2261]: File
> "/usr/share/weewx/weewx/engine.py", line 884, in main
> May 19 09:18:32 weatherpi weewx[2261]:   engine =
> 

Re: [weewx-user] upgrade from 3.8.2 to 3.9.1 failure

2019-05-18 Thread Leon Shaner
Logs too abbreviated, or at least I am not able to pick out which driver / 
weatherstation version of are running.  Please expound.
WMR200, WMR300, both have this issue.  Maybe others.
Which model is yours?

Regards,
\Leon
--
Leon Shaner :: Dearborn, Michigan (iPad Pro)

> On May 18, 2019, at 8:05 PM, Ian Prescott  wrote:
> 
> Hi
> I did an upgrade on my pi and by default weewx got upgraded as well.
> After a reboot the syslog shows the following.
> Any help would be appreciated.
> Thanks
> 
> 
> May 19 09:18:31 weatherpi systemd[1]: Starting LSB: weewx weather system...
> May 19 09:18:31 weatherpi weewx[2257]: engine: Initializing weewx version 
> 3.9.1
> May 19 09:18:31 weatherpi weewx[2257]: engine: Using Python 2.7.9 (default, 
> Sep 26 2018, 05:58:52) #012[GCC 4.9.2]
> May 19 09:18:31 weatherpi weewx[2257]: engine: Platform 
> Linux-4.14.78-v7+-armv7l-with-debian-8.0
> May 19 09:18:31 weatherpi weewx[2257]: engine: Locale is 'en_AU.UTF-8'
> May 19 09:18:31 weatherpi weewx[2257]: engine: pid file is /var/run/weewx.pid
> May 19 09:18:31 weatherpi weewx[2247]: Starting weewx weather system: weewx.
> May 19 09:18:31 weatherpi systemd[1]: Started LSB: weewx weather system.
> May 19 09:18:31 weatherpi weewx[2261]: engine: Using configuration file 
> /etc/weewx/weewx.conf
> May 19 09:18:31 weatherpi weewx[2261]: engine: Debug is 1
> May 19 09:18:31 weatherpi weewx[2261]: engine: Initializing engine
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading station type 
> FineOffsetUSB (weewx.drivers.fousb)
> May 19 09:18:31 weatherpi weewx[2261]: fousb: driver version is 1.9
> May 19 09:18:31 weatherpi weewx[2261]: fousb: power cycling enabled for port 
> 4 on hub 001:004
> May 19 09:18:31 weatherpi weewx[2261]: fousb: polling mode is PERIODIC
> May 19 09:18:31 weatherpi weewx[2261]: fousb: polling interval is 60
> May 19 09:18:31 weatherpi weewx[2261]: fousb: found station on USB bus=001 
> device=006
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service 
> weewx.engine.StdTimeSynch
> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service 
> weewx.engine.StdTimeSynch
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service 
> weewx.engine.StdConvert
> May 19 09:18:31 weatherpi weewx[2261]: engine: StdConvert target unit is 0x1
> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service 
> weewx.engine.StdConvert
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service 
> weewx.engine.StdCalibrate
> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service 
> weewx.engine.StdCalibrate
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service 
> weewx.engine.StdQC
> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service 
> weewx.engine.StdQC
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service 
> weewx.wxservices.StdWXCalculate
> May 19 09:18:31 weatherpi weewx[2261]: wxcalculate: The following values will 
> be calculated: barometer=prefer_hardware, windchill=prefer_hardware, 
> dewpoint=prefer_hardware, appTemp=prefer_hardware, rainRate=prefer_hardware, 
> windrun=prefer_hardware, heatindex=prefer_hardware, 
> maxSolarRad=prefer_hardware, humidex=prefer_hardware, 
> pressure=prefer_hardware, inDewpoint=prefer_hardware, ET=prefer_hardware, 
> altimeter=prefer_hardware, cloudbase=prefer_hardware
> May 19 09:18:31 weatherpi weewx[2261]: wxcalculate: The following algorithms 
> will be used for calculations: altimeter=aaNOAA, maxSolarRad=RS
> May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service 
> weewx.wxservices.StdWXCalculate
> May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service 
> weewx.engine.StdArchive
> May 19 09:18:31 weatherpi weewx[2261]: engine: Archive will use data binding 
> wx_binding
> May 19 09:18:31 weatherpi weewx[2261]: engine: Record generation will be 
> attempted in 'software'
> May 19 09:18:31 weatherpi weewx[2261]: engine: Using archive interval of 300 
> seconds (software record generation)
> May 19 09:18:31 weatherpi weewx[2261]: engine: Use LOOP data in hi/low 
> calculations: 1
> May 19 09:18:31 weatherpi weewx[2261]: manager: Daily summary version is 2.0
> May 19 09:18:31 weatherpi weewx[2261]: engine: Using binding 'wx_binding' to 
> database 'weewx.sdb'
> May 19 09:18:31 weatherpi weewx[2261]: manager: Starting backfill of daily 
> summaries
> May 19 09:18:32 weatherpi weewx[2261]: engine: Caught unrecoverable exception 
> in engine:
> May 19 09:18:32 weatherpi weewx[2261]:   Non-positive value for 
> record field 'interval': 0
> May 19 09:18:32 weatherpi weewx[2261]:   Traceback (most recent call 
> last):
> May 19 09:18:32 weatherpi weewx[2261]: File 
> "/usr/share/weewx/weewx/engine.py", line 884, in main
> May 19 09:18:32 weatherpi weewx[2261]:   engine = 
> engine_class(config_dict)
> May 19 09:18:32 weatherpi weewx[2261]: File 
> "/usr/share/weewx/weewx/engine.py", line 78, in __init__
> 

[weewx-user] upgrade from 3.8.2 to 3.9.1 failure

2019-05-18 Thread Ian Prescott
Hi
I did an upgrade on my pi and by default weewx got upgraded as well.
After a reboot the syslog shows the following.
Any help would be appreciated.
Thanks


May 19 09:18:31 weatherpi systemd[1]: Starting LSB: weewx weather system...
May 19 09:18:31 weatherpi weewx[2257]: engine: Initializing weewx version
3.9.1
May 19 09:18:31 weatherpi weewx[2257]: engine: Using Python 2.7.9 (default,
Sep 26 2018, 05:58:52) #012[GCC 4.9.2]
May 19 09:18:31 weatherpi weewx[2257]: engine: Platform
Linux-4.14.78-v7+-armv7l-with-debian-8.0
May 19 09:18:31 weatherpi weewx[2257]: engine: Locale is 'en_AU.UTF-8'
May 19 09:18:31 weatherpi weewx[2257]: engine: pid file is
/var/run/weewx.pid
May 19 09:18:31 weatherpi weewx[2247]: Starting weewx weather system: weewx.
May 19 09:18:31 weatherpi systemd[1]: Started LSB: weewx weather system.
May 19 09:18:31 weatherpi weewx[2261]: engine: Using configuration file
/etc/weewx/weewx.conf
May 19 09:18:31 weatherpi weewx[2261]: engine: Debug is 1
May 19 09:18:31 weatherpi weewx[2261]: engine: Initializing engine
May 19 09:18:31 weatherpi weewx[2261]: engine: Loading station type
FineOffsetUSB (weewx.drivers.fousb)
May 19 09:18:31 weatherpi weewx[2261]: fousb: driver version is 1.9
May 19 09:18:31 weatherpi weewx[2261]: fousb: power cycling enabled for
port 4 on hub 001:004
May 19 09:18:31 weatherpi weewx[2261]: fousb: polling mode is PERIODIC
May 19 09:18:31 weatherpi weewx[2261]: fousb: polling interval is 60
May 19 09:18:31 weatherpi weewx[2261]: fousb: found station on USB bus=001
device=006
May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service
weewx.engine.StdTimeSynch
May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service
weewx.engine.StdTimeSynch
May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service
weewx.engine.StdConvert
May 19 09:18:31 weatherpi weewx[2261]: engine: StdConvert target unit is 0x1
May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service
weewx.engine.StdConvert
May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service
weewx.engine.StdCalibrate
May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service
weewx.engine.StdCalibrate
May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service
weewx.engine.StdQC
May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service
weewx.engine.StdQC
May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service
weewx.wxservices.StdWXCalculate
May 19 09:18:31 weatherpi weewx[2261]: wxcalculate: The following values
will be calculated: barometer=prefer_hardware, windchill=prefer_hardware,
dewpoint=prefer_hardware, appTemp=prefer_hardware,
rainRate=prefer_hardware, windrun=prefer_hardware,
heatindex=prefer_hardware, maxSolarRad=prefer_hardware,
humidex=prefer_hardware, pressure=prefer_hardware,
inDewpoint=prefer_hardware, ET=prefer_hardware, altimeter=prefer_hardware,
cloudbase=prefer_hardware
May 19 09:18:31 weatherpi weewx[2261]: wxcalculate: The following
algorithms will be used for calculations: altimeter=aaNOAA, maxSolarRad=RS
May 19 09:18:31 weatherpi weewx[2261]: engine: Finished loading service
weewx.wxservices.StdWXCalculate
May 19 09:18:31 weatherpi weewx[2261]: engine: Loading service
weewx.engine.StdArchive
May 19 09:18:31 weatherpi weewx[2261]: engine: Archive will use data
binding wx_binding
May 19 09:18:31 weatherpi weewx[2261]: engine: Record generation will be
attempted in 'software'
May 19 09:18:31 weatherpi weewx[2261]: engine: Using archive interval of
300 seconds (software record generation)
May 19 09:18:31 weatherpi weewx[2261]: engine: Use LOOP data in hi/low
calculations: 1
May 19 09:18:31 weatherpi weewx[2261]: manager: Daily summary version is 2.0
May 19 09:18:31 weatherpi weewx[2261]: engine: Using binding 'wx_binding'
to database 'weewx.sdb'
May 19 09:18:31 weatherpi weewx[2261]: manager: Starting backfill of daily
summaries
May 19 09:18:32 weatherpi weewx[2261]: engine: Caught unrecoverable
exception in engine:
May 19 09:18:32 weatherpi weewx[2261]:   Non-positive value for
record field 'interval': 0
May 19 09:18:32 weatherpi weewx[2261]:   Traceback (most recent
call last):
May 19 09:18:32 weatherpi weewx[2261]: File
"/usr/share/weewx/weewx/engine.py", line 884, in main
May 19 09:18:32 weatherpi weewx[2261]:   engine =
engine_class(config_dict)
May 19 09:18:32 weatherpi weewx[2261]: File
"/usr/share/weewx/weewx/engine.py", line 78, in __init__
May 19 09:18:32 weatherpi weewx[2261]: 
 self.loadServices(config_dict)
May 19 09:18:32 weatherpi weewx[2261]: File
"/usr/share/weewx/weewx/engine.py", line 142, in loadServices
May 19 09:18:32 weatherpi weewx[2261]: 
 self.service_obj.append(weeutil.weeutil._get_object(svc)(self,
config_dict))
May 19 09:18:32 weatherpi weewx[2261]: File
"/usr/share/weewx/weewx/engine.py", line 500, in __init__
May 19 09:18:32 weatherpi weewx[2261]: 
 self.setup_database(config_dict)
May 19 09:18:32